【问题标题】:How to find channel by name DiscordJS 12如何按名称查找频道 DiscordJS 12
【发布时间】:2021-05-19 21:30:33
【问题描述】:

我知道他们改变了一些东西,我一直在非常缓慢地试图掌握这些变化,但有些东西正在逃避我,它也破坏了其他功能。所以我可以解决这个问题的最简单的方法是解决一个被破坏的更简单的命令,这是一个 !sayto 命令,用于按名称将消息发送到指定的频道。例如,您可以这样做!sayto testing Hello! This is a test!,它会说“你好!这是一个测试!”在#测试中。现在这行不通了,我再也找不到实现这一目标的方法了。我将在下面提供我的代码,希望有人能帮助我理解这一点。

let saytochan = bot.channels.cache.get(args[0]);
message.delete().catch();
    saytochan.send(botmessage);

在使用命令时能够按名称指定频道对我来说很重要。我唯一担心的是,我最终将不得不通过 ID 为每个通道定义一个变量,并用一千万个 IF 语句艰难地处理它...... 感谢您在这方面的任何和所有帮助!

【问题讨论】:

    标签: javascript discord channel


    【解决方案1】:

    你可以使用查找频道

    const ch = bot.channels.cache.find(c => c.name === `${args[0]}`);
    

    然后

    ch.send(botmessage)
    

    如果频道不存在...

    if (!ch) return message.channel.send("channel doesn't exist")
    

    【讨论】:

    • 谢谢!我曾经使用 find 函数,但是当它崩溃时,我经历了很多次拙劣的代码迭代,最终得到了我上面发布的内容。我承认我不理解“c => c.name”部分,但我以自己的方式将它应用到我的代码中并且它仍然有效。显然,我还有一些研究要做,以便更好地理解这一点。
    • 没问题! c 仅表示通道。但是是的,这很容易,我建议在 Discord.js 服务器中询问类似这样的简单问题。 discord.gg/bRCvFy9
    猜你喜欢
    • 2021-09-27
    • 2020-02-16
    • 2019-12-28
    • 1970-01-01
    • 2020-01-29
    • 2014-10-13
    • 2018-04-15
    • 2014-11-17
    • 2018-10-31
    相关资源
    最近更新 更多