@datareset
развиваюсь.

Как вызвать функцию в callback handler'e?

@dp.message_handler(commands=['menu'])
async def menu(message: types.Message):
    if message.from_user.username in listOfAdmins:
        buttons = [
            types.InlineKeyboardButton(text="Изменить значение текста", callback_data = 'change'),
            types.InlineKeyboardButton(text="Отправить текст", callback_data = 'send')
        ]
        keyboard = types.InlineKeyboardMarkup(row_width=1)
        keyboard.add(*buttons)
        file = openTextToRead()
        await bot.send_message(message.from_user.id,f'Привет, @{message.from_user.username}!\nТекущее сообщение: <b>{file.read()}</b>\n Меню:', parse_mode='html', reply_markup=keyboard)
@dp.callback_query_handler(text="send")
async def sendingText(call: types.CallbackQuery):
    if call.from_user.username in listOfAdmins:
        await call.answer()
        keyboard = types.InlineKeyboardMarkup(row_width=1).add(types.InlineKeyboardButton(text=f"Отправлено @{call.from_user.username}", url=f"t.me/{call.from_user.username}"))
        file = openTextToRead()
        await bot.send_message(GROUP_ID, file.read(), reply_markup=keyboard)
        await call.message.answer('Успешно!')
        await asyncio.sleep(3)
        file.close()
        await menu(call.message) # exception'ов нет, но функцию не вызывает

Вопрос в том как вызвать функцию main(первую) в коллбеке?
  • Вопрос задан
  • 567 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mv_rogozov
await menu(call.message.reply_to_message)
Попробуй так.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы