HarisNvr
@HarisNvr
Начинающий кодер Python

Как выполнить функцию def с аргументом message?

Есть вот такой код:

@bot.message_handler(commands=['start']) #Запуск бота по комманде /start
def start(message):
    markup = types.InlineKeyboardMarkup()
    btn_help = types.InlineKeyboardButton('Помощь', callback_data='help')
    markup.row(btn_help)
    bot.send_message(message.chat.id, f'<b>Привет, <u>{message.from_user.first_name}!</u> </b> '
                                      f'\nНажми кнопку "Помощь" , чтобы узнать что я умею!', parse_mode='html', reply_markup=markup)


@bot.message_handler(commands=['help']) #Вызов помощи через /help
def help(message):
    bot.send_message(message.chat.id, text='Я умею всякое')


@bot.callback_query_handler(func=lambda callback: True) #Вызов помощи через кнопку "Помощь"
def callback_message(callback):
    if callback.data == 'help':
        #Нужно выполнить help(message) из строки выше


bot.polling(none_stop=True)


Не могу понять, как сделать, чтобы при нажатии на кнопку "Помощь" выполнялась функция help(message):
Раннее подобный вопрос задавал на форуме, но меня не совсем правильно поняли и предложили дублировать bot.send_message(message.chat.id, text='Я умею всякое'). Такой вариант не подходит, т.к. при изменении текста "Я умею всякое" придётся менять его синхронно в двух разных строчках, что не очень удобно.
  • Вопрос задан
  • 39 просмотров
Решения вопроса 1
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
help(callback.message)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы