首页 > 解决方案 > 当我在 github 上上传其代码时,如何隐藏我的不和谐机器人令牌?

问题描述

我正在编写这个 discordbot 并希望它在 github 上。如何在不公开其令牌的情况下上传它?

const Discord = require('discord.js');
const client = new Discord.Client();
// Following is the part that matter, the code before is just to get some context 
const token = '[hidden for security reasons]'; 

我想我应该把它放在一个单独的文件中,但我不知道如何在我的 index.js 文件中引用它。

我该如何解决这个问题?

标签: git

解决方案


有很多方法可以从代码中获取秘密信息。

最简单的可能是使用环境变量。例如,您可以在代码中使用它:

const token = process.env.DISCORD_TOKEN;

然后在调用脚本之前设置 env 变量(假设 bash shell):

DISCORD_TOKEN=1234foobar1234 node myscript.js

为了简化这一点,您可以使用如下包dotenv

require('dotenv').config();

const token = process.env.DISCORD_TOKEN;

.env然后您可以在项目根目录中创建一个文件
.env

DISCORD_TOKEN=1234foobar1234

(记得添加这个文件.gitignore以避免意外提交)


推荐阅读