Страницы

Поиск по вопросам

пятница, 24 января 2020 г.

Ответ telegram-бота на определенные слова

#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 работает без проблем.

Комментариев нет:

Отправить комментарий