使用机器人不和谐 DM

时间:2021-02-08 10:07:53

标签: python discord.py

所以今天我试图了解 python discord.py 。

在某些时候,我尝试了以下操作: 一个人告诉机器人一个命令 (arr[4]),通过我所做的所有研究,我只能找到 14 where $DM 'discord user' 'content'

有什么办法可以做到:

client.author.send("message")

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点

来自用户 ID

@client.command()
async def DM(ctx, id: int, *, content):
    user = client.get_user(id)
    await user.send(content)

# Invoking
# $DM 123123123123123 something here

来自用户名#discriminator

@client.command()
async def DM(ctx, username, *, content):
    name, discriminator = username.split("#")
    user = discord.utils.get(ctx.guild.members, name=name, discriminator=discriminator)
    await user.send(content)

# Invoking
# $DM example#1111 something here

包含用户提及、ID、姓名、昵称(imo 的最佳选择)

@client.command()
async def DM(ctx, member: discord.Member, *, content):
    await member.send(content)

# Invoking
# $DM @example#1111 something here
# $DM 1231231231231 something here
# $DM example#1111 something here

还要确保您启用了 intents.members,有关详细信息,请查看我的 previous answers

PS:您需要使用 commands.Bot 才能使所有这些工作正常进行,而不是 discord.Client