Telegram Bot без командной строки через python - PullRequest
0 голосов
/ 30 мая 2018

Я новичок в боте Telegram, теперь я тестирую бота telegraom с простым ответом.Как мы знаем, мы можем использовать python для телеграммы.Вот мой код:

from telegram.ext import Updater, CommandHandler
 def hello(bot, update):
     update.message.reply_text(
        'Hello {}'.format(update.message.from_user.first_name))

updater = ipdater(token='xxx') updater.dispatcher.add_handler(CommandHandler('hello', hello)) updater.start_polling() updater.idle()

теперь я ввожу "/ привет" в телеграмму бор, он может ответить "Привет, мое имя"

Я хочу знать, как запустить бота без командной строки?

Например, я ввожу "привет", может ли он ответить "Привет, мое имя"?

1 Ответ

0 голосов
/ 30 мая 2018

Да, вы определенно можете это сделать.Вам нужно будет использовать MessageHandler , который реагирует на текстовые сообщения.

Определите ваш обратный вызов, который реагирует на основе текста пользователя:

def handle_message(bot, update):
    text = update.message.text
    if text == 'hello':
        update.message.reply_text('Hello {}'.format(update.message.from_user.first_name))

И добавьте обработчик сообщений вашему диспетчеру:

dispatcher.add_handler(MessageHandler(filters=Filters.text, callback=handle_message))

Обратите внимание, что обработчик сообщений принимает фильтр.В данном случае это текст, но это может быть изображение или что-то еще.Важно знать, что это сработает для каждого текстового сообщения, которое получает ваш бот.Если вы будете получать много сообщений, я рекомендую написать более сложный фильтр.

...