Open eremeevdev opened 4 years ago
inline_keyboard_markup="[{}]".format(json.dumps([ {"text": "Action 1", "url": "http://mail.ru"}, {"text": "Action 2", "callbackData": "call_back_id_2"}, {"text": "Action 3", "callbackData": "call_back_id_3"} ])))
Поправь вот на такой вариант:
inline_keyboard_markup="{}".format(json.dumps([[ {"text": "Action 1", "url": "http://mail.ru"}, {"text": "Action 2", "callbackData": "call_back_id_2"}, {"text": "Action 3", "callbackData": "call_back_id_3"} ]])))
Если для пользователя библиотеки сделать вот такой интерфейс
from icq import InlineKeyboardMarkup, InlineKeyboardButton
markup = InlineKeyboardMarkup()
makup.add(InlineKeyboardButton('text', data='action')
makup.add(InlineKeyboardButton('some url', url='https://t.me/')
bot.send_text(chat_id=746691278, text="Text", inline_keyboard_markup=markup)
То вопросы по формированию клавиатур в стиле [[{},{}],[],{}{}{}{][]}
возникать не будут.
Всю магию сериализации можно спрятать, т.к. она у всех пользователей библиотеки будет одинаковой (+ поддержку ujson можно в коробку положить)
Если для пользователя библиотеки сделать вот такой интерфейс
from icq import InlineKeyboardMarkup, InlineKeyboardButton markup = InlineKeyboardMarkup() makup.add(InlineKeyboardButton('text', data='action') makup.add(InlineKeyboardButton('some url', url='https://t.me/') bot.send_text(chat_id=746691278, text="Text", inline_keyboard_markup=markup)
То вопросы по формированию клавиатур в стиле
[[{},{}],[],{}{}{}{][]}
возникать не будут.Всю магию сериализации можно спрятать, т.к. она у всех пользователей библиотеки будет одинаковой (+ поддержку ujson можно в коробку положить)
Добрый день,
Недавно смерджил в мастер ветку этого репозитория, принцип работы так же как у pyTelegramBotAPI.)
пробую отправить клавиатуру, как показано в примере:
сообщение отправляется, а клавиатуры нет.