【问题标题】:How do I create server specific variables in Discord.js?如何在 Discord.js 中创建特定于服务器的变量?
【发布时间】:2022-02-16 02:15:38
【问题描述】:

我做了一个使用频道选择的斜杠命令。我正在使用它来设置日志记录通道。我需要帮助才能拥有相同的变量,但每个服务器的值不同。

例如:

服务器 1 = #logs

服务器 2 = #mod-only

我不知道如何让变量在不同的服务器中具有不同的值。

现在我有这个。但是如果你在“服务器 2”中禁止某人,它将登录到“服务器 1”。

logchannel.js

var logchannel = interaction.options.getChannel('channel');
        exports.logchannel = logchannel;

ban.js

var logchannel = require('./logchannel');
        var logchannel = logchannel.logchannel;
        logchannel.send('message');

我需要弄清楚如何让日志通道变量在不同的服务器中具有不同的值。如果有人可以回答如何做到这一点,请告诉我。

我也已经尝试过使用 MongoDB,但它不适合我。

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    这是一种不使用 mongo 的解决方案,但您可以使用 mongo 实现相同的效果。您可以采取许多方法来实现相同的目标,这是一种基本的方法,而不是最好的方法。

    const logChannels = {
            'serverID': 'channelID',
            'anotherserverID': 'anotherchannelID',
    }
    var logchannel = logChannels[guild.id] // Here you will have your log channel ID
    guild.channels.cache.get(logchannel).send(`message`)
    

    【讨论】:

    • 字符串文字不需要对象中的[]s
    • 有没有办法通过使用斜杠命令自动将其添加到其中?
    • 您可以从interactionCreate 事件中访问interaction.guild 并检查它是否存在,我认为应该是logChannels[interaction.guild]
    猜你喜欢
    • 2020-12-24
    • 2014-12-09
    • 2020-09-08
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2021-03-20
    • 2020-07-04
    相关资源
    最近更新 更多