Ошибка 400 при вводе /start InlineKeyboardMarkup
это тгбот фрейм telebot пытаюсь создать кнопку под сообщением, но появляется ошибка 400 при команде /start Пожалуйста помогите испраивть эту проблему, заранее большое спасибо <3
код из файла
import telebot
from telebot import types
bot = telebot.TeleBot('7046873780:AAGuEnWpwoO32CiF5UQ-oq_bZz854ItC4gQ')
@bot.message_handler(commands=['start'])
def main(message):
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton('Да'))
bot.send_message(message.chat.id, 'Привет! Чашечку утреннго кофе?', reply_markup=markup)
bot.polling(none_stop=True)
трэйсбек
024-09-26 00:24:03,013 (__init__.py:1221 MainThread) ERROR - TeleBot: "Threaded polling exception: A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: can't parse inline keyboard button: Text buttons are unallowed in the inline keyboard"
2024-09-26 00:24:03,014 (__init__.py:1223 MainThread) ERROR - TeleBot: "Exception traceback:
Traceback (most recent call last):
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\venv\Lib\site-packages\telebot\__init__.py", line 1215, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\venv\Lib\site-packages\telebot\util.py", line 150, in raise_exceptions
raise self.exception_info
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\venv\Lib\site-packages\telebot\util.py", line 93, in run
task(*args, **kwargs)
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\venv\Lib\site-packages\telebot\__init__.py", line 8573, in _run_middlewares_and_handler
result = handler['function'](message)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\main.py", line 11, in main
bot.send_message(message.chat.id, 'Привет! Чашечку утреннго кофе?', reply_markup=markup)
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\venv\Lib\site-packages\telebot\__init__.py", line 1755, in send_message
apihelper.send_message(
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\venv\Lib\site-packages\telebot\apihelper.py", line 273, in send_message
return _make_request(token, method_url, params=payload, method='post')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\venv\Lib\site-packages\telebot\apihelper.py", line 168, in _make_request
json_result = _check_result(method_name, result)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Идрис\PycharmProjects\Ahi_corp TeleBot1\venv\Lib\site-packages\telebot\apihelper.py", line 195, in _check_result
raise ApiTelegramException(method_name, result, result_json)
telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: can't parse inline keyboard button: Text buttons are unallowed in the inline keyboard
Ответы (1 шт):
Автор решения: KonneR
→ Ссылка
import telebot
from telebot import types
bot = telebot.TeleBot('7046873780:AAGuEnWpwoO32CiF5UQ-oq_bZz854ItC4gQ')
@bot.message_handler(commands=['start'])
def main(message):
markup = types.InlineKeyboardMarkup()
markup.add(types.InlineKeyboardButton('Да', callback_data='yes'))
bot.send_message(message.chat.id, 'Привет! Чашечку утреннго кофе?', reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
if call.data == 'yes':
bot.answer_callback_query(call.id, 'Вы нажали кнопку "Да"')
bot.polling(none_stop=True)
Вот так у меня заработало просто callback_data нужно проверять ( в данном случае сделал ответ чтобы проверить корректность работы)