Подстановочный знак для любой строки - Telegram-Bot - PullRequest
0 голосов
/ 18 февраля 2019

Ну, я использую Telegram Bot Updater для обработки сообщений от отправленных на него.Но я хотел, чтобы он отвечал на любую строку, которую я даю, с "#" ранее.

Пробовал метод AnyString, но не работал.Кроме того, попробовал "*" вещь wilcard.

from telegram.ext import Updater, CommandHandler

def hello(bot, update):
    update.message.reply_text(
        'Hey {}!'.format(update.message.from_user.first_name))


updater = Updater('770165564:AAEJm45dqDNkOnlso0YK6hQoCbXoCySiHcQ')

updater.dispatcher.add_handler(CommandHandler('*', hello))

updater.start_polling()
updater.idle()

Когда я отправлю какое-нибудь сообщение типа "/ что-нибудь", "/ test", бот ответит описанной мною функцией со словами "Эй, пользователь-name}!».

1 Ответ

0 голосов
/ 05 марта 2019

Вы можете использовать PrefixHandler ( документы )

Примеры:

Одиночный префикс и команда:

PrefixHandler('!', 'test', callback) will respond to '!test'.

Несколько префиксов, одна команда:

PrefixHandler(['!', '#'], 'test', callback) will respond to '!test' and
'#test'.

Миллионы префиксов и команд:

PrefixHandler(['!', '#'], ['test', 'help`], callback) will respond to '!test',
'#test', '!help' and '#help'.
...