如何从discord.py中的消息ID获取用户名?

问题描述 投票:0回答:1

我正在尝试获取已回复消息的作者,但我在discord.py API参考中找不到任何内容,可以让我从有效负载中找到作者,所以我想出了最接近的事情就是从消息本身中找到他们。

@client.event
async def on_raw_reaction_add(payload):
    if str(payload.emoji)=='🫃':
        with app.app_context():
            blasted_user: str = # ??
            blasting_user: str = payload.member
            log: str = datetime.now().strftime("%D:%H:%M:%S")
            message_id: int = payload.message_id
            #The site isn't letting me post this unless I split message into 2 lines
            m1 = await client.get_channel(payload.channel_id)
            message: str = await m1.fetch_message(payload.message_id)
            db.session.add(data(blasted_user, blasting_user, message, log, message_id))
            db.session.commit()```
discord.py
1个回答
0
投票

你的方法很好,因为你现在有一个消息对象:

message_id: int = payload.message_id
m1 = await client.get_channel(payload.channel_id)
message = await m1.fetch_message(message_id)

获取消息作者:

author = message.author
© www.soinside.com 2019 - 2024. All rights reserved.