Как расположить inline кнопки в случайном порядке Aiogram
А возможно как то сделать что бы инлайн кнопки выводились в случайном порядке?
Делаю что-то типа теста и хотел бы перемешивать варианты ответов на инлайн кнопках
Ответы (2 шт):
Автор решения: oleksandrigo
→ Ссылка
К примеру так.
@dp.message_handler(commands=['start'])
async def start(message: types.Message):
list_buts = [("text1", "data1"), ("text2", "data2"), ("text3", "data3")]
random.shuffle(list_buts)
markup = InlineKeyboardMarkup()
for text, data in list_buts:
markup.add(InlineKeyboardButton(text=text, callback_data=data))
await message.answer("text", reply_markup=markup)
Автор решения: Илья Смолев
→ Ссылка
Просидел весь день, дополню на будущее. В третьем aiogramm этот вариант не запустился, пришлось чуть изменить. Вот что получилось у меня в итоге, возможно его как то можно упростить, на это сил уже не хватило
list_buts = [("text1", "data1"), ("text2", "data2"), ("text3", "data3")]
random.shuffle(list_buts)
but=[]
for text, data in list_buts:
but.append([InlineKeyboardButton(text=text, callback_data=data)])
keyboard = InlineKeyboardMarkup(inline_keyboard=but)
await message.answer("text",reply_markup=keyboard)
