Discord.py如何通过命令将DM发送给我想要的任何人

时间:2019-08-03 18:05:25

标签: python discord

有人要求我为他制作一个机器人,该机器人通过命令将*send_dm @Jess#6461 hello发送给他指定的任何人DM。

我搜索了很多代码,发现了以下代码:

async def send_dm(ctx,member:discord.Member,*,content):
    await client.send_message(member,content)

但是我得到了错误:

  

discord.ext.commands.errors.CommandInvokeError:命令引发了异常:AttributeError:'Bot'对象没有属性'send_message'

例如,我想输入*send_dm @Jess#6461 hello,然后机器人会向该用户发送一个DM,说“你好”。

1 个答案:

答案 0 :(得分:1)

client.send_message() has been replaced by channel.send()在discord.py的版本1中

您可以使用Member.create_dm()创建一个向用户发送消息的渠道

async def send_dm(ctx, member: discord.Member, *, content):
    channel = await member.create_dm()
    await channel.send(content)