Подстановочный знак для любой строки - Telegram-Bot

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

Пробовал метод AnyString, но не сработало. Кроме того, попробовал "*" уилкард.

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()

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


person Matheus Oliveira da Hora    schedule 17.02.2019    source источник


Ответы (1)


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

Примеры:

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

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

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

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

Префиксы и команды Miltiple:

PrefixHandler(['!', '#'], ['test', 'help`], callback) will respond to '!test',
'#test', '!help' and '#help'.
person Mikhail Beliansky    schedule 05.03.2019