pyTelegramBotAPI существует ли другой способ добавления ширины разметки в список кнопок?

#python #py-telegram-bot-api

Вопрос:

название-это в значительной степени то, что мне нужно, но я объясню, зачем оно мне нужно. Я использую цикл for, затем внутри у меня есть цикл, который добавляет кнопки в массив, проблема в том, что я должен сделать отдельную кнопку внизу, у которой нет цикла, поэтому я искал и нашел способ сделать это:

 buttons = []
def gen_markup():
    markup = InlineKeyboardMarkup()
    markup.row_width = 1
    for x, y in zip(name, conexion):
        buttons.append(InlineKeyboardButton(x, url=y))
    buttons.append(InlineKeyboardButton("Añadir Botón", callback_data="add_btn"))
    reply_markup = InlineKeyboardMarkup([buttons])
    return reply_markup
 

Итак, все это работает, за исключением того, что ширина разметки не меняется, и я это понимаю, потому что я возвращаю переменную reply_markup вместо переменной разметки.
Так что в принципе мне нужно исправить это, если вы найдете другой способ, конечно, я открыт для этого, я просто поместил это в название, потому что это единственное, о чем я могу думать.
Спасибо

Ответ №1:

Попробуйте этот код, остальное зависит от ваших навыков работы на python

 def gen_markup():
    markup = InlineKeyboardMarkup(row_width=1)
    markup.add(*[InlineKeyboardButton(x, url=y)) for x, y in zip(name, conexion)])
    markup.add(InlineKeyboardButton("Añadir Botón", callback_data="add_btn"))
    
    return reply_markup