В nextcord (ранее известном как discord.py) можно получить id сообщения, отправленного ботом, с помощью объекта класса Message
. Вот несколько способов, которые можно использовать для этого:
1. Если вы хотите получить id сообщения в обработчике событий, то вы можете использовать аргумент message
в функции-обработчике и затем получить его id с помощью атрибута id
:
@bot.event async def on_message(message): if message.author == bot.user: message_id = message.id print(f"ID сообщения, отправленного ботом: {message_id}")
2. Если вы сохраняете сообщение в переменную после его отправки, то вы можете получить его id с помощью атрибута id
:
message = await channel.send("Пример сообщения через бота") message_id = message.id print(f"ID сообщения, отправленного ботом: {message_id}")
3. Если у вас уже есть объект Message
(например, из кэша сообщений), то вы можете получить его id с помощью атрибута id
:
message = await channel.fetch_message(message_id) message_id = message.id print(f"ID сообщения, отправленного ботом: {message_id}")
Не забывайте, что событие on_message
может реагировать на любые сообщения в канале (включая сообщения от других пользователей), поэтому вам может потребоваться добавить проверку if
на авторство сообщения, чтобы убедиться, что вы получаете правильное сообщение, отправленное ботом.