是否有内置的不和谐功能,允许“标记”类别频道?

问题描述 投票:0回答:1

所以基本上我在discord bot中有一个命令,允许用户为创建的文本通道设置类别通道。在我使用arg拆分为“”或其他路径(我知道该怎么做,因此这不是这个问题的答案)的另一条路线之前,我想知道用户是否有办法'如果名称是多个单词,则标记“类别通道”。 (即类别名称:帮助频道,标记为:帮助频道)

如果类别通道是一个单词,我目前使用的代码工作正常,因为它能够在不和谐中正确找到通道。

let Found = message.guild.channels.find(channel => channel.name === args[1])

但我想知道是否有一种方法可以使用一个参数检测具有多个单词的类别通道,然后再尝试使用对公会不太友好的路径。

javascript node.js visual-studio-code discord.js
1个回答
1
投票

截至目前,在Discord中还没有看到适当的类别提及。 <#idOfCategory>翻译,但它不是功能性频道提及。

话虽这么说,你有几个选择。

  • 询问类别ID而不是其名称。
  • 如果您的命令在类别名称后面不需要任何参数,请拼接参数数组并加入结果。
  • 只要求用户拥有该类别的第一个单词,然后检查哪个类别名称以给定的字符串开头。
  • 让您的机器人列出带有数字的类别并选择他们想要的类别并找到具有给定位置的类别。
  • 使用某种函数来读取下一个参数,如果将它们与前面的参数组合,则将它们添加到字符串中是类别名称的开头,如下所示。
let name = '';
let categories = message.guild.channels.filter(c => c.type === 'category');

for (i = 1; i < args.length; i++) {
  let matches = categories.filter(c => c.name.startsWith(name + args[i]));
  if (matches.length > 0) name += `${args[i]} `;
  else break;
}

// 'name' is now the name of the category
© www.soinside.com 2019 - 2024. All rights reserved.