Discord Bot 发布频道链接

Posted

技术标签:

【中文标题】Discord Bot 发布频道链接【英文标题】:Discord Bot Posting a Channel Link 【发布时间】:2020-07-13 19:58:48 【问题描述】:

这是我到目前为止所拥有的,并且有效。我正在尝试在消息末尾添加一个#channel-name-link。

bot.on('guildMemberAdd', member => 
    const welcome = member.guild.channels.cache.find(channel => channel.name === "on-the-leash");
    if (!welcome) return;
    welcome.send("Welcome " + member.toString() + "more message here!!" + message.guild.channels.cache.get('channelID').toString());
);

现在我收到一条错误消息,说消息未定义。我是 node.js 的新手。我习惯使用 PowerShell 和 Bash。我用 Java 和 C++ 编程过,但距离我真正用它们做任何事情已经有一两年了。感谢所有帮助。

任何帮助将不胜感激

【问题讨论】:

【参考方案1】:

您使用的是 discord.js v11 还是 v12? 您想使用它的 ID 来获取频道,还是更愿意使用它的名称来查找它?

编辑:

message.guild.channels 之后添加.cache,应该可以解决您的问题

您的解决方案是:

welcome.send("Welcome " + member.toString() + "more message here" + message.guild.channels.cache.find(channel => channel.name === "rules" ).toString());

welcome.send("Welcome " + member.toString() + "more message here" + message.guild.channels.cache.get("channelID").toString());

【讨论】:

我使用的是 v12,无论哪种方式都可以。我知道这个频道的 ID,但如果需要,我可能想稍后切换到名称。 我试过了,没用,我还注意到我的代码没有显示出来,所以现在你可以看到我在做什么了。 不,你误解了我的意思,我再次编辑我的答案给你解决方案【参考方案2】:

感谢@Syntle 的帮助,你让我到达了我需要的地方

bot.on('guildMemberAdd', member => 
    const welcome = member.guild.channels.cache.find(channel => channel.name === "on-the-leash");
    const channel = member.guild.channels.cache.get('#ChannelID#').toString();
    if (!welcome) return;
    welcome.send("Welcome " + member.toString() + "More Message Here" + channel);
);

【讨论】:

以上是关于Discord Bot 发布频道链接的主要内容,如果未能解决你的问题,请参考以下文章

Discord Python Bot - Bot 的消息不会自动嵌入链接/图像/等

Discord.py Bot 将文件发送到 Discord 频道

在 Discord (discord.py bot) 中仅从 1 个频道发送消息

Python Discord Bot 未加入语音频道

Discord Bot公告频道

Discord .net Bot 创建私人频道