首页 > 解决方案 > 有没有办法在 discord.py 的“on_raw_reaction_add”中使用“wait_for 消息”

问题描述

如果用户单击特定表情符号并打印他的新昵称,我正在制作一个更改用户昵称的功能。

@bot.event
async def on_raw_reaction_add(payload):
    channel = bot.get_channel(payload.channel_id)
    msg = await channel.fetch_message(payload.message_id)
    emoji = payload.emoji
    author = payload.member
    if channel.id == channel_test_id:
        def check(m):
            return m.author == ???.author
        await channel.send("Enter your new nickname")
        msg2 = await bot.wait_for("message", check = check)
        await author.edit(nick = msg2.content)

那么,有可能做到这一点吗?

标签: pythondiscord.py

解决方案


def check(m):
    return m.author == payload.member # Or simply `author` cause you made a variable like that

注意:如果事件没有在公会内部调用,则可以payload.memberNone

在此处阅读有关属性


推荐阅读