我想发送一个dm给一个用户,只是使用他们的用户ID,我从他们的配置文件复制。
这是我做的代码,但它没有工作。
@client.command()
async def dm(userID, *, message):
user = client.get_user(userID)
await user.send(message)
出现的错误如下:
discord.ext.commands.errors.CommandInvokeError:命令引发异常:属性错误:'NoneType'对象没有'send'属性
2条答案
按热度按时间brgchamk1#
您所要做的就是将userID参数更改为
user: discord.User
。该参数将接受用户提及(@user)、用户名(user)和id(904360748455698502)。现在完整的代码将是:czfnxgou2#
您的代码部分正确。但是,根据discord.py API参考,
User
对象是不可消息传递的,即您不能直接在User
本身上使用send()
函数。要解决这个问题,我们需要先创建一个带有用户的
DMChannel
,然后向DMChannel
发送一条消息。下面是工作代码: