#python #telegram_bot #telegram #telebot
Хочу создать простого telegram-бота, установил библиотеку pyTelegramBotAPI. Есть пример бота, который отвечает на команды (со слешем) и повторяет всё, что ему пишут (без слеша). Сам разобраться не смог: import telebot bot = telebot.TeleBot("TOKEN") @bot.message_handler(commands=['start', 'help']) def send_welcome(message): bot.reply_to(message, "Howdy, how are you doing?") @bot.message_handler(func=lambda message: True) def echo_all(message): bot.reply_to(message, message.text) bot.polling() Как написать функцию, чтобы бот(Б) отвечал тебе на определенные слова и чтобы команда от юзера (Ю) отправлялась без слеша, например: Ю: как тебя зовут? Б: Коля Ю: Холодно? Б: Нет б., жарко! А на остальные, "не забитые" слова, отвечал: "Я не понимаю, о чем ты..., может пояснишь?" Спасибо.
Ответы
Ответ 1
@bot.message_handler(content_types=['text']) def handle_text(message): # Если пользователь отправил "привет, как тебя зовут?" отвечаем "робот я" if message.text == "привет, как тебя зовут?": bot.send_message(message.from_user.id, 'робот я' # Если пользователь отправил "и чо?" отвечаем "да ничо" elif message.text == "и чо?": bot.send_message(message.from_user.id, 'да ничо' #Если пользователь отправил слово/фразу, на которое(ую) нет ответа else: bot.send_message(message.from_user.id, "Извините, я Вас не понимаю") python pyTelegramBotAPIОтвет 2
В принципе, самый простой вариант вам уже предложили, но если вдруг интересно, либо хотите продвинуться чуть дальше, то посмотрите в сторону AIML, всё элементарно, с Python работает без проблем.
Комментариев нет:
Отправить комментарий