Не могу сменить row_width telebot
Есть телеграм-бот написанный на пайтон telebot. Делаю кнопку, при нажатии на которую будет добавляться ещё одна. Имена кнопок сохраняю в json, потом создаю сами кнопки. Мне необходимо сменить row_width. Когда я пишу markup = types.InlineKeyboardMarkup(row_width=3) кнопки остаются в один ряд. Я думаю, что проблема в цикле, но не знаю как без него.
path = r'file.json'
with open(path, 'r') as file:
button_array = json.load(file)
button_array2 = [types.InlineKeyboardButton(
text='Add button', callback_data='add_button')]
def button_array2_append():
for item in button_array:
button_array2.append(types.InlineKeyboardButton(
text=str(item), callback_data=f'{item}_'))
button_array2_append()
@bot.message_handler(commands=['add'])
def add(message):
markup = types.InlineKeyboardMarkup(row_width=3)
for item in button_array2:
markup.add(item)
bot.send_message(message.chat.id, 'Аdd button', reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def calldata(call):
global button_array2
bot.answer_callback_query(callback_query_id=call.id)
if call.data == 'add_button':
button_array2 = [types.InlineKeyboardButton(
text='Add button', callback_data='add_button')]
bot.register_next_step_handler(bot.send_message(
call.message.chat.id, 'buttons name'), buttons_create)
def buttons_create(message):
button_array.append(message.text)
with open(path, 'w') as file:
json.dump(button_array, file)
button_array2_append()
Источник: Stack Overflow на русском