#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 работает без проблем.
Комментариев нет:
Отправить комментарий