我如何做到这一点,所以当我运行命令时,某人会获得DM

时间:2020-08-19 20:54:09

标签: discord.js

我想做到这一点,所以当我运行一个命令时,它会命令某个人,我该怎么做?

2 个答案:

答案 0 :(得分:0)

您可以使用:

if (message.author.id !== '<Put your user ID here>') return;

How to get your User ID

答案 1 :(得分:0)

您的问题中有一点空白。如果您不问Lioness100所说的话,我相信您的意思是:“在运行此命令时请一个人DM。”

这很简单,但是有规则,

  1. 必须与要转至DM的用户具有共同的服务器。
  2. 它不能是另一个机器人。
  3. (不确定这一点)用户不能成为来宾,请先注册。

如果以上所有条件均适用,那您就走了。

首先,获取用户。我假设将在参数中调用用户(例如; kick $ {user}),如果没有提及,请从缓存中获取用户。

const user = message.mentions.members.first() 
|| message.guild.members.cache.get(args[0]); // <-- replace with your argument index.

user.send("Your text here") // <-- will be sent to the user in DM's, embeds are allowed.

等等!如果用户不在服务器中怎么办?

好吧,我们可以简单地执行一条if语句(同样,如果您要实现一个系统,可以用其ID向一个具有DM的人发送DM,请使用bot.users.cache.get(args[0])或数据库)

// Before DMing user
if (!user) return message.channel.send('Sorry! That user cannot be found!')
// Feel free to add permissions to run this command!

希望这对您有所帮助,请保持安全。