【问题标题】:Discord.js read client bot token from a file rather than hard-codedDiscord.js 从文件中读取客户端机器人令牌,而不是硬编码
【发布时间】:2020-07-13 22:52:02
【问题描述】:

我希望能够从文件/数据库中动态读取client.login(BOT_TOKEN);,但这是在我的文件读取函数完成执行之前执行的。

BOT_TOKEN = '';

if(BUILD_PROFILE == 'dev'){
    filesystem.readFile('./../devToken.txt',  'utf8', (err, data) => {
        if(err) throw err;
        console.log(data);
        BOT_TOKEN = data;
    })
}

client.login(BOT_TOKEN);

这是我在日志中遇到的错误 - 我已经仔细检查了文件,它的 console.log(data) 显示了正确的令牌,但它没有被应用

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    我建议您将令牌放在 ENV 文件中。 我也认为你应该直接从你的机器人的不和谐页面复制你的令牌并直接粘贴。

    您 console.log'd data 是正确的令牌吗?

    【讨论】:

    • 是的,data 正在显示正确的令牌。这个环境文件是什么?如何从不和谐开发者门户复制令牌?我基本上有 2 个令牌用于 2 个不同的机器人,可以这样做吗?我想隐藏我的令牌/帐户凭据的原因是我可以公开我的 github 存储库
    【解决方案2】:

    一个非常简单的方法是在你的主 bot 文件夹中有一个 config.js 文件,并设置

    {
    token: “token-here”
    }
    

    然后,在您的 main.js 文件中,将配置文件作为变量,然后在您的“bot.login”处,只需执行“bot.login(config.token)”即可

    你也可以在这个文件中设置你的前缀,允许用户在未来更改你的命令前缀

    此外,您可以使用 SQLite 数据库来保存您的令牌 - 您必须拥有 SQLite npm 库,来自 https://www.npmjs.com/package/sqlite 此处,但设置非常简单,如果有人需要帮助,请添加我的不和谐原型#4992

    n.m.当/如果您想在未来建立货币系统时,SQLite 数据库也将派上用场。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-30
      • 2019-06-19
      • 1970-01-01
      相关资源
      最近更新 更多