Почему данные, передаваемые в формате Callback_data, не обрабатываются?

  • 6 августа 2023 г. 7:26
Ответы на вопрос 7
Необработанные данные Callback_data могут быть результатом неправильно настроенной конфигурации приложения или проблем с сетью. Проверьте правильность настройки приложения, а также статус сети.
import telebot
from telebot import types

rgs_bot = telebot.TeleBot('ключик от бота')

@rgs_bot.message_handler(commands=['start'])
def start(message):
    markup = types.InlineKeyboardMarkup()
    markup.add(types.InlineKeyboardButton('Да, мне интересно!', callback_data='accept'))
    markup.add(types.InlineKeyboardButton('Нет, пожалуй откажусь...', callback_data='decline'))
    rgs_bot.send_message(message.chat.id,
                         f'Привет, {message.from_user.first_name} {message.from_user.last_name}.\n'
                         f'Меня зовут Тупик в программировании на Питоне, и я не совсем человек...\nСкорее бот\n'
                         f'Я могу помочь тебе если ты...бла бла бла', parse_mode='html', reply_markup=markup)


@rgs_bot.callback_query_handler(func=lambda call: True)
def answer(callback_query: types.CallbackQuery):
    if callback_query.data == 'accept':
        rgs_bot.send_message(callback_query.from_user.id,
                             f'Ну что же...\n'
                             f'Тебя заинтересовало моё предложение?', parse_mode='html')
    elif callback_query.data == 'decline':
        rgs_bot.send_message(callback_query.from_user.id,
                             f'Ну что ж.\n'
                             f'Очень жаль...\nЕсли вдруг надумаешь, можешь найти самое первое сообщение, и принять '
                             f'моё предложение в другой раз.\n'
                             f'А пока, извольте откланяться. Спасибо что уделили мне время!', parse_mode='html')
Вот так переформулированные советы и разделение с символом "
":
@rgs_bot.callback_query_handler(lambda callback_query: True)
def cb_handler(call):
    if call.data == 'accept':
        rgs_bot.send_message(call.chat.id,
                             f'Ну что же...\n'
                             f'Тебя заинтересовало моё предложение?', parse_mode='html')
    elif call.data == 'decline':
        rgs_bot.send_message(call.chat.id,
                             f'Ну что ж.\n'
                             f'Очень жаль...\nЕсли вдруг надумаешь, можешь найти самое первое сообщение, и принять моё предложение в другой раз.\n'
                             f'А пока, извольте откланяться. Спасибо что уделили мне время!', parse_mode='html')
import telebot
from telebot import types

rgs_bot = telebot.TeleBot('ключик от бота')

@rgs_bot.message_handler(commands=['start'])
def start(message):
    markup = types.InlineKeyboardMarkup()
    markup.add(types.InlineKeyboardButton('Да, мне интересно!', callback_data='accept'))
    markup.add(types.InlineKeyboardButton('Нет, пожалуй откажусь...', callback_data='decline'))
    rgs_bot.send_message(message.chat.id,
                         f'Привет, {message.from_user.first_name} {message.from_user.last_name}.\n'
                         f'Меня зовут Тупик в программировании на Питоне, и я не совсем человек...\nСкорее бот\n'
                         f'Я могу помочь тебе если ты...бла бла бла', parse_mode='html', reply_markup=markup)

@rgs_bot.callback_query_handler(func=lambda call: True)
def answer(callback_query: types.CallbackQuery):
    if callback_query.data == 'accept':
        rgs_bot.send_message(callback_query.from_user.id, f'Ну что же...\nТебя заинтересовало моё предложение?', parse_mode='html')
    elif callback_query.data == 'decline':
        rgs_bot.send_message(callback_query.from_user.id, f'Ну что ж.\nОчень жаль...\nЕсли вдруг надумаешь, можешь найти самое первое сообщение, и принять моё предложение в другой раз.\nА пока, извольте откланяться. Спасибо что уделили мне время!', parse_mode='html')
Вот так пробуй@rgs_bot.callback_query_handler(lambda callback_query: True)
def cb_handler(call):
    if call.data == 'accept':
        rgs_bot.send_message(call.chat.id,
                             f'Тебе интересно моё предложение?', parse_mode='html')
    elif call.data == 'decline':
        rgs_bot.send_message(call.chat.id,
                             f'Жаль, что не заинтересовало...\nЕсли вдруг передумаешь, можешь найти самое первое сообщение и принять моё предложение в другой раз.\n'
                             f'Пока прошу откланяться. Спасибо за время!', parse_mode='html')
Похожие вопросы