Как мой бот discord находит сообщение по message.id ? (ранее опубликованное ботом)

#python-3.x #discord.py

#python-3.x #discord.py

Вопрос:

Мне нужно найти сообщение, которое бот ранее опубликовал, затем посмотреть реакцию на него. Я не думаю, что я использую: discord.utils.find() правильно.

Я осмотрелся, но не смог найти ничего для Discord.py все, что я смог найти, было для Discord.js .

Вот мой код:

 import discord

TOKEN = '[I have a token here]'

client = discord.Client()

m_id = 0

@client.event
async def on_message(message):

    if message.author == client.user:
        global m_id
        m_id = message.id

    if not message.author == client.user:
        if message.content.startswith('!poll'):
            msg = 'Test poll nMessage ID: {0.id}'.format(message)
            await client.send_message(message.channel, msg)

        if message.content.startswith('!endpoll'):
            new_message = discord.utils.find(lambda m: m.id(m_id), client.messages)
            print(new_message.reactions)

@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')

client.run(TOKEN)
  

Мне нужно, чтобы мой бот напечатал список реакций на его первоначальное сообщение.

Ответ №1:

Вот два метода поиска сообщения по идентификатору. Я надеюсь, это то, что вы имели в виду

 
@bot.event
async def on_message(msg):
    if 'conditoin' == True:
        message=await bot.get_message(msg.channel,'message_id')
        print(message.content)

@bot.command(pass_context=True)
async def get_msg(con,msg_id:int):
    message=await bot.get_message(con.message.channel,msg_id)
    print(message.content)