我的不和谐机器人如何通过message.id查找消息? (以前由机器人发布)

时间:2019-03-25 00:03:04

标签: 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 个答案:

答案 0 :(得分:0)

这里有两种通过id查找消息的方法。我希望这就是你的意思


@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)