当某人DM僵尸程序时,我该如何使我的僵尸程序将消息与该消息一起发送到特定频道?我当时在考虑Webhooks,但是我不确定这是否是正确的方法。
是的你可以。
现在怎么办?
您首先要获得dm消息。在Message
具有这样的特性channel
,其代表在接收到该消息的信道,该属性可以是3种不同类型的,所有延伸从Channel
其中有一个type
属性。
该type
属性可以具有6个值:
并从该属性Message.channel
有此指示:
输入:
TextChannel
或DMChannel
或GroupDMChannel
所以在这里我们有3种可能的结果message.channel.type
:"dm"
,"text"
,"group"
。
一旦检查了消息是否为dm,就必须将其复制到服务器上。同样,该Message
类型对我们而言具有有趣的属性:content
和attachments
。
处理附件的方法比内容本身要复杂一些。您必须查找类型MessageAttachment
并使用其属性,例如url
。
但这content
很容易,它只是一个字符串。因此,我们只需要获取我们的频道并发送消息即可。
在下面的示例中,我通过使用公会和服务器的ID获得公会和服务器。您可以对它们进行硬编码,将它们放入json文件,数据库中,或者在消息中获取它们,并将dm用作命令,例如:
+send ID a message with many words
。
let channelID = "X";
let guildID = "X";
client.on('message', (message) => {
if(message.channel.type === 'dm'){
let embed = new Discord.RichEmbed()
.setAuthor(client.guilds.get(guildID).members.get(message.author.id).displayName, message.author.displayAvatarURL)
.setColor('#FAA')
.setDescription(message.content);
client.channels.get(channelID).send(embed);
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句