@DarkiDeuce

Как передать дополнительный аргумент в callback_query_handler?

Библиотека TeleBot
Не понимаю как передать дополнительный аргумент в функцию, которая срабатывает после нажатия инлайновой кнопки (callback_query_handler)

Например есть код:
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton("текст кнопки", callback_data = "Button"))
photo = open(f"путь к фото", 'rb')
bot.send_photo(message.chat.id, photo,  reply_markup = markup)

@bot.callback_query_handler(func=lambda call: True)
def test(call):
    if call.data == "Button":
         bot.send_message(message.chat.id, "текст")


Как в функцию test передать ещё один аргумент при нажатии на кнопку?
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
@TKDBOT
Учу python. Готов к конструктивной критике.
https://qna.habr.com/q/1143336

Вот тут я задавал почти такой же вопрос. Ответ есть.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@lum99
Все аргументы можно перечислить через запятую.
То есть:
bot.send_message(message.chat.id, "текст", ТУТ)

Так же сработает и просто повторить условие, возможно займет на пару доль секунд дольше, но иногда норм решение.
То есть:
if call.data == "Button":
bot.send_message(message.chat.id, "текст")
bot.send_message(message.chat.id, ДРУГОЙ АРГУМЕНТ)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы