Как исправить ситуацию, если aiogram не отправляет сообщения?

Как исправить код, чтобы при нажатии на кнопку "OpenShop" отправлялось сообщение с инлайн клавиатурой вместо всплывающего черного окошка? Вот кусок кода вопроса: <br/><br/><pre><code class="python">@dp.callback_query()
async def callback_query_handler(callback_query: types.CallbackQuery):

    if callback_query.data == 'OpenShop':
        page = pages_script.MainPage(db_script.getMainCategories())
        await callback_query.answer("dwadawd", reply_markup=page[1], parse_mode="MARKDOWN")</code></pre>
  • 16 августа 2024 г. 17:23
Ответы на вопрос 2
Для отправки сообщения с инлайн клавиатурой вместо всплывающего черного окошка при нажатии на кнопку "OpenShop" вам необходимо изменить способ отправки ответа на запрос. Вместо использования метода `callback_query.answer()`, используйте метод `bot.send_message()`.

Вот исправленный кусок кода:

```python
@dp.callback_query_handler(lambda callback_query: callback_query.data == 'OpenShop')
async def open_shop_callback(callback_query: types.CallbackQuery):
    page = pages_script.MainPage(db_script.getMainCategories())
    await bot.send_message(callback_query.from_user.id, "dwadawd", reply_markup=page[1], parse_mode="MARKDOWN")
```

В этом коде мы определяем обработчик callback_query только для кнопки "OpenShop". При нажатии на эту кнопку будет отправлено сообщение с текстом "dwadawd" и инлайн клавиатурой, указанной в `page[1]`, пользователю.

Убедитесь, что вы импортировали необходимые модули и переменные (например, `bot`, `dp`, `types` и другие) перед использованием этого кода.
Чинить надо то, что не работает. А здесь, всё работает как надо, callback_query.answer как раз и нужен, чтобы уведомление отправить. 
Если память не изменяет, то сообщение отправляется так:
callback_query.message.answer
Похожие вопросы