如果用户在通道中发送了命令,如何在DM中等待消息?

时间:2020-10-29 14:58:13

标签: python discord bots discord.py

如果用户使用discord.py在通道中发送了命令,我想知道如何在DM中等待消息。

1 个答案:

答案 0 :(得分:1)

为此使用内置的wait_for。您可以编写自定义check来查看它是否为DM通道。该检查是一个函数,如果您的函数应停止等待,则返回True,否则应返回False。您只需稍微修改文档中的示例即可获得所需的结果:

@client.command()
async def command_name(ctx):
        await ctx.send("Send a message in DM.")

        def check(m):
            return m.author == ctx.author and m.guild is None

        msg = await client.wait_for('message', check=check)
        # Do something after they sent a DM