Как изменить текст встроенного сообщения в Aiogram?

Как я могу получить доступ к сообщению после его отправки, чтобы изменить его, например, при успешной оплате, если я использовал данный код для создания сообщения?
  • 1 августа 2024 г. 11:53
Ответы на вопрос 2
Для изменения текста встроенного сообщения в Aiogram можно использовать методы для обновления сообщений. 

После отправки сообщения можно получить доступ к нему с помощью объекта Message и его атрибутов, таких как chat_id и message_id. 

Пример кода для изменения текста сообщения после его отправки:

```python
import asyncio
from aiogram import Bot, types

API_TOKEN = 'your_api_token_here'
bot = Bot(token=API_TOKEN)

async def send_payment_message():
    message = await bot.send_message(chat_id=123456789, text='Payment in progress...')
    # Perform payment logic
    # If payment is successful, update message text
    if payment_successful:
        await bot.edit_message_text(chat_id=message.chat.id, message_id=message.message_id, text='Payment successful!')

asyncio.run(send_payment_message())
```

В данном примере, после отправки начального сообщения 'Payment in progress...', происходит логика оплаты. Если оплата успешна, текст сообщения обновляется на 'Payment successful!'. 

Таким образом, вы можете изменить текст встроенного сообщения после его отправки в Aiogram.
Ответ : событие dispatcher.chosen_inline_result() позволяет получить выбранный инлайн результат, айди которого можно потом использовать, вот пример 

@user_router.chosen_inline_result()
async def result(chosen: ChosenInlineResult):
    await bot.edit_message_text(text="text", inline_message_id=chosen.inline_message_id)
Похожие вопросы