Чтобы получить ID сообщения, отправленного в хендлере с командой `check_creator`, и затем использовать его в другом обработчике, вы можете сохранить ID сообщения в каком-либо виде. Например, можно использовать атрибут объекта сообщения или хранилище данных, чтобы передать его между обработчиками.
Пример реализации такого подхода:
```python
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from aiogram.dispatcher import FSMContext
from aiogram.utils import executor
# Создание бота и хранилища
bot = Bot(token='YOUR_BOT_TOKEN')
dp = Dispatcher(bot, storage=MemoryStorage())
# Определение состояния FSM (если требуется)
class Form(StatesGroup):
waiting_for_sub_check = State()
@dp.message_handler(commands=['check_creator'])
async def check_creator(message: types.Message):
# Отправляем сообщение и сохраняем его ID
reply_message = await message.reply("Пожалуйста, проверьте подписки.")
# Сохраняем ID сообщения в контексте
await Form.waiting_for_sub_check.set()
await dp.current_state(user=message.from_user.id).update_data(reply_message_id=reply_message.message_id)
@dp.message_handler(state=Form.waiting_for_sub_check)
async def sub_check(message: types.Message, state: FSMContext):
# Получаем данные из состояния
data = await state.get_data()
reply_message_id = data.get('reply_message_id')
# Выполните необходимые действия здесь
if some_condition: # Замените на вашу логику
# Ответим на сообщение с ID reply_message_id
await message.reply("Условия выполнены!")
await bot.edit_message_text("Условия выполнены!", chat_id=message.chat.id, message_id=reply_message_id)
# Сбрасываем состояние
await state.finish()
if __name__ == '__main__':
executor.start_polling(dp)
```
В этом примере:
1. Когда обрабатывается команда `/check_creator`, бот отправляет сообщение и сохраняет его ID в состоянии FSM.
2. В обработчике `sub_check` получаем ID предыдущего сообщения из состояния и используем его для редактирования или отправки сообщения.
Обратите внимание, что вам необходимо включить расширение для работы с состояниями (FSM) и настроить его в вашем боте.