如何制作不和谐js bot发送直接/私人消息不是作者?

时间:2017-08-05 17:54:42

标签: javascript bots private discord dm

我使用node.js进行不和谐。

在我发出命令后,我希望我的机器人向特定的人发送直接/私人消息,而不是发出命令的作者(我)。

现在我有人的< @ 000000000000000000> (我认为这称为ID),它是String格式。

例如,此代码 client.sendMessage(message.author,“Hello!”); 向作者发送消息Hello。但我想要一个像 client.sendMessage(message.user(“< @ 000000000000000000>”),“Hello!”);

这样的功能是否存在?

对于背景信息,我正在制作一个狼人游戏机器人,玩家被随机分配一个角色,在我命令w!play之后,我希望玩家能够在DM中接收他们的角色。

2 个答案:

答案 0 :(得分:1)

我不会这样写,除非你有理由这样做。

我使用带有git的webhooks进行不和谐,使用主题标签在私人频道上进行通信,(并创建dm频道)因此我可以添加删除/排除规则(对于管理员或其他方式)

(如果您需要Facebook集成,这将不适用于Facebook)

答案 1 :(得分:1)

是的,只需获取user对象并发送给它。您将需要他们的id,因此解析出字符串“< @ 0000>”的id部分。此外,不推荐使用sendMessage。使用channel.send()。对于用户:

let str = "<@123456789>"; //Just assuming some random tag.

//removing any sign of < @ ! >... 
//the exclamation symbol comes if the user has a nickname on the server.
let id = str.replace(/[<@!>]/g, '');

client.fetchUser(id)
    .then(user => {user.send("Hello I dmed you!")})