Discord.py - 使用特定消息回复 DM

问题描述

试图让我的机器人用这是一个 dm"回复 DM;但没有运气,这是我的代码:

trying to make my bot reply to DMs with "this is a dm" but no luck, here's my code:

@client.event
async def on_message(message):
    if message.guild == null:
        await message.channel.send('this is a dm')
    else:
        pass

我也试过用这个:

@client.event
async def on_message(message):
    if isinstance(message.channel, discord.channel.DMChannel):
        await ctx.send('This is a DM')

在最后一个上,由于上​​下文 (ctx) 我收到一个错误

On that last one, I get an error due to context (ctx)


解决方案

您发送的第一个代码使用了 null,这在 python 中甚至都不是.第二个有点不必要,改用这个:

The first code you sent uses null which isn’t even a thing in python. The second one is a bit unnecessary, use this instead:

@client.event
async def on_message(message):
    if not message.guild:
        await message.channel.send('this is a dm')

相关文章