使不和谐机器人发送消息特定通道

Posted

技术标签:

【中文标题】使不和谐机器人发送消息特定通道【英文标题】:make discord bot to send message specific channel 【发布时间】:2020-12-18 01:08:34 【问题描述】:

我想做这样的机器人命令:

我在聊天中写:~msg (Text) (Channel),然后机器人会发送一条消息,例如:Hello everyone. (In channel General)

这是我目前使用的代码:

switch (args[0]) 
 case 'msg':

if (!args[1]) return message.channel.send('Fill the channel name')
            if (!args[2]) return message.channel.send('Fill the text')
            message.client.channels.cache.find(channel => channel.name === args[1]).send(args[2]);

    
)

【问题讨论】:

这能回答你的问题吗? Sending message to specific channel, not working 【参考方案1】:

您可以使用.find() 方法按名称获取频道,然后使用.send() 方法向那里发送消息。

message.client.channels.cache.find(channel => channel.name === chanArgs).send(msgArgs)

【讨论】:

message.client?? 任何client 对象都可以。例如,如果你写了const client = new Discord.Client(),那么你可以直接使用client.channels... TypeError: 无法读取未定义的“发送”属性,我认为这几乎是正确的 这只是意味着它无法通过提供的名称找到频道。确保 chanArgs 是有效的频道名称。 感谢它的工作原理,但是当我输入第三个参数时它没有显示出来。你有解决方案吗?所以你可以这样写。我只是编辑代码你可以检查它@Lioness100

以上是关于使不和谐机器人发送消息特定通道的主要内容,如果未能解决你的问题,请参考以下文章

如何使不和谐机器人将消息发送到不和谐 Node js 的特定频道机器人

如何使不和谐机器人自动发送消息?

自定义不和谐机器人:在特定文本通道中发送消息

如何使用不和谐机器人将消息发送到特定频道?

Discord Bot 删除特定频道中的消息

如何删除我的不和谐机器人在特定频道中发送的先前消息?