有人要求我为他制作一个机器人,该机器人通过命令将*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,说“你好”。
答案 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)