Node.js 是否有一种方法允许我的机器人检查DMs并将其发布到我服务器的通道中?
当有人对我的机器人进行DMs时,我如何让我的机器人将消息发送到带有消息的特定通道?我在考虑Webhook,但我不确定这样做是否正确。是的,你可以。Node.js 是否有一种方法允许我的机器人检查DMs并将其发布到我服务器的通道中?,node.js,bots,discord,discord.js,dm,Node.js,Bots,Discord,Discord.js,Dm,当有人对我的机器人进行DMs时,我如何让我的机器人将消息发送到带有消息的特定通道?我在考虑Webhook,但我不确定这样做是否正确。是的,你可以。 现在怎么办 您必须首先获得dm消息。具有属性channel,表示接收消息的通道。此属性可以有3种不同的类型,所有类型的扩展都有一个type属性。 此类型属性可以有6个值: dm-一个dm通道 组-a组DM通道 文本-公会文本频道 语音-公会语音频道 类别-公会类别频道 新闻-工会新闻频道 商店-公会商店频道 从财产中可以看出: 类型:textco
现在怎么办 您必须首先获得dm消息。具有属性
channel
,表示接收消息的通道。此属性可以有3种不同的类型,所有类型的扩展都有一个type
属性。此
类型
属性可以有6个值:
- dm-一个dm通道
- 组-a组DM通道
- 文本-公会文本频道
- 语音-公会语音频道
- 类别-公会类别频道
- 新闻-工会新闻频道
- 商店-公会商店频道
textconnel
或DMChannel
或GroupDMChannel
因此,这里我们有3个可能的message.channel.type
结果:“dm”
,“text”
,“group”
一旦检查了邮件是否为dm,就必须将其复制到服务器。同样,消息
类型对我们来说具有有趣的属性:内容
和附件
处理附件的方式比内容本身要复杂一些。您必须查找类型并使用其属性,如url
但是对于内容
来说非常简单,它只是一个字符串。所以我们只需要找到我们的频道并发送信息
在下面的例子中,我通过使用他们的ID来获取帮会和服务器。您可以硬编码它们,将它们放入json文件、数据库或在消息中获取它们,并将dm作为命令,如:+向ID发送包含多个单词的消息
让channelID=“X”;
让guildID=“X”;
client.on('消息',(消息)=>{
如果(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);
}
});
您的意思是在discord上接收dm并将其发送到您的一个discord服务器?我希望它接收dm,并将其发送到我的服务器中的一个频道。您希望从哪里接收dm?从bots DMs。您检查过webhooks吗?