我供用户使用的discord命令是/dm @differentuser <message>
。
我可以使用哪个命令行向特定成员发送直接消息?
我知道有author = ctx.message.author
和await author.send(msg)
。
答案 0 :(得分:0)
您需要做的就是添加一个参数,该命令将其视为成员对象,如下所示:
@bot.command()
async def dm(ctx, member: discord.Member, *, message):
await member.send(message)
await ctx.send(":white_check_mark: Sent!")
请记住,如果漫游器无法发送消息,则会抛出Forbidden
错误。根据隐私设置,这可能是因为该成员已阻止该漫游器,或者是他们不接受该服务器中的DM。
参考:
discord.Member
Member.send()
Messageable.send()
-discord.Member
继承自此。有关可消息传递的工作方式,请参见here。