Ошибка при создании inline кнопок
Выкидывает ошибку(в связи с малым опытом) не могу понять почему
if message.text == 'Графики':
markup = types.InlineKeyboardMarkup()
kalculator = types.InlineKeyboardMarkup('Линейная')
poisk = types.InlineKeyboardMarkup('Квадратическая')
admin = types.InlineKeyboardMarkup('Степенная')
podderzchka = types.InlineKeyboardMarkup('обратно-пропорциональная')
spisoksokr = types.InlineKeyboardMarkup('Логарифмическая')
bistriypoisk = types.InlineKeyboardMarkup('Функция в модуле')
spisoksokr1 = types.InlineKeyboardMarkup('Другие функции(sin,cos)')
bistriypoisk1 = types.InlineKeyboardMarkup('Вернуться назад⬅️')
mess = f'Ты в поиске графиков,{message.from_user.first_name}! Выбери какой график тебе нужен:'
markup.add(poisk, admin, podderzchka, spisoksokr, bistriypoisk, kalculator, spisoksokr1, bistriypoisk1)
bot.send_message(message.chat.id, 'hello' ,reply_markup=markup)
(что показывает терминал)
AttributeError: 'str' object has no attribute 'to_dict'
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Для начала рекомендую посмотреть как нужно делать инлайн кнопки и как их обрабатывать. Вы же пытались в InlineKeyboardMarkup впихнуть другой InlineKeyboardMarkup, а не InlineKeyboardButton. Также каждая кнопка должна иметь возвращаемое callback_data, и вот это callback_data нужно отлавливать в callback_query_handler().
if message.text == 'Графики':
markup = types.InlineKeyboardMarkup()
kalculator = types.InlineKeyboardButton('Линейная', callback_data="linear")
poisk = types.InlineKeyboardButton('Квадратическая', callback_data="search")
admin = types.InlineKeyboardButton('Степенная', callback_data="admin")
podderzchka = types.InlineKeyboardButton('обратно-пропорциональная', callback_data="reverse")
spisoksokr = types.InlineKeyboardButton('Логарифмическая', callback_data="log")
bistriypoisk = types.InlineKeyboardButton('Функция в модуле', callback_data="in_module")
spisoksokr1 = types.InlineKeyboardButton('Другие функции(sin,cos)', callback_data="other_func")
bistriypoisk1 = types.InlineKeyboardButton('Вернуться назад⬅️', callback_data="back")
mess = f'Ты в поиске графиков,{message.from_user.first_name}! Выбери какой график тебе нужен:'
markup.add(poisk, admin, podderzchka, spisoksokr, bistriypoisk, kalculator, spisoksokr1, bistriypoisk1)
bot.send_message(message.chat.id, 'hello', reply_markup=markup)