如何使用 id 发送 DM 特定用户?

时间:2021-07-07 03:39:36

标签: discord.py

我想制作一个向我发送 DM 的机器人,但它有错误

这是我的代码:

member = client.get_user(int(my id))
await member.send('abc')

和错误:

AttributeError: 'NoneType' object has no attribute 'send'

2 个答案:

答案 0 :(得分:0)

在你做任何事情之前

首先,确保机器人以某种方式与您连接,无论是您共享一个公会还是您已经与机器人打开了 DM 频道。其次,确保您允许来自共享服务器成员或陌生人的 DM,以免机器人的 DM 被阻止。

代码

不要将变量命名为“member”,而是将其命名为更合适的名称,因为您正在检索 User 对象而不是 Member。接下来,您要测试您和机器人是否共享一个 DM 频道,如果不是,机器人将创建一个,然后您可以发送消息。

user = client.get_user(int('0123456789'))

if not (dm_channel := user.dm_channel):
    dm_channel = await user.create_dm()
await dm_channel.send('abc')

答案 1 :(得分:0)

确保将“1234567890”替换为您自己的用户 ID

OSError: [Errno 22] Invalid argument

示例 -

user = client.get_user(1234567890)
await user.send("Hi!", tts=True)