есть такой код :
выводим значения из базы данных в инлайн кнопки :
async def sql_date(message):
rows = cur.execute('SELECT * FROM date ').fetchall()
date_text = ""
keyboar = types.InlineKeyboardMarkup(row_width=1)
for ret in rows:
date_text = ret[0]
times = ret[1]
keyboar.add(types.InlineKeyboardButton(ret[0], callback_data=ret[1]))
print(date_text)
print(times)
await message.answer(' Выберити свободную дату', reply_markup=keyboar)
обрабатываем нажатие кнопки и выводим данные:
@dp.callback_query_handler(lambda call: True)
async def stoptopupcall(callback_query: types.CallbackQuery, state: FSMContext):
await bot.answer_callback_query(callback_query.id)
cur.execute('''SELECT time FROM date''') #получаем наши идентификаторы
sqldata = cur.fetchall() # в список их
sortdata = [] # список отсортированных
for i in sqldata: # сортируем
sortdata.append(i[0]) # добавляем отсортированные tgid в спислк
if callback_query.data in sortdata: # делаем проверку есть ли наш идентификатор в тех кнопках
userinfo = cur.execute('''SELECT * FROM date WHERE time = (?)''', (callback_query.data, )).fetchall()
await bot.send_message(callback_query.from_user.id, f'Время: {userinfo[0][1]}') # делаем вывод
time = userinfo[0][1]
мне нужно из handler "@dp.callback_query_handler" а именно "time = userinfo[0][1]" передать в функцию
async def sql_time(message):
keyboar = types.InlineKeyboardMarkup(row_width=1)
for x in re.split(r'\s+', time):
keyboar.add(types.InlineKeyboardButton(text=x, callback_data=x))
await message.answer(' Выберите свободное время на:', reply_markup=keyboar)
тем самым вывести список Inline с данными из "time = userinfo[0][1]" кнопками как можно реализовать это ?