@felonys

Проблема в двух callbackdata, telebot. Как решить?

Есть бот для сбора обратной связи, ее существует 2 вида, отличаются количеством данных.

Реализовал через инлайн кнопки. Первая кнопка работает на ура, но 2ая возвращает значение первой.

Для примера добавил во вторую поле "test" и изменил текст прихода собранной информаии. Все равно приходит результат будто с первой кнопки.

Сообщение с первой кнопки приходит так:

bot.send_message(admin_id, f'Пришло заявление @{userid} \n\n {surname} \n {username} \n {lastname} \n {age} \n {phone} \n {exp} \n {portf}')

Сообщение со второй кнопки должно приходить так:

bot.send_message(admin_id, f'Пришла анкета @{userid} {test} {surname} \n {username} \n {lastname} \n : {age} \n {phone} \n {exp} \n {portf}')

Но приходит без слова "анкета" и значения {test}

Вот код
https://dpaste.org/524oF
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
febday
@febday
Потому что callback_data (sendinfo) одной кнопки является началом callback_data (sendinfo2) второй кнопки
Обрабатывайте эти две кнопки в одном месте, да и весь сбор данных делайте не через миллион состояний, достаточно через одно.
Либо перемещайте второй обработчик выше первого, либо обрабатывайте всё в одном
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
nki
@nki
bezkart.ru готовая система лояльности
Выше правильно подсказали - делайте один обработчик и в нем в зависимости от callback_data выполняйте нужные действия.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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