如何使用 Heroku 安全地隐藏我的 discord bot API 密钥?
How can I safely hide my discord bot API key using Heroku?
提供一些背景知识:我在 python 中开发一个非常简单的 discord 机器人已经有一段时间了。它在我的电脑上是 运行,我过去一直使用一个名为 config.py 的 python 文件(存储在 .gitignore 中)来保密我的 API 密钥:
from config import * #retrieve file and it's variables
bot.run(api_key)
然后,随着我的机器人的进步,我研究了 Heroku,以 24/7 全天候托管我的机器人,而不必 运行 在我自己的计算机上。
但是,Heroku 已连接到我的 Github,并且由于我的 .gitignore 文件,我的 Heroku 应用程序无法检索 API 变量。
有什么方法可以让我的 Heroku 应用程序检索我的 API 密钥,而无需将其发布到我的存储库中?
非常感谢!
-mficco
有很多方法。
使用 configparser 将在 repo
在你的代码中应该是这样的
from configparser import ConfigParser
config = ConfigParser()
config.read("config.ini")
token = ["BOT"]["NAMEHERE]
你的 config.ini
文件在同一目录中,你可以跳过 [BOT]
但如果你有不止一件事只是为了组织
[BOT]
NAMEHERE = abjigaoi1654165
请记住,您必须在存储库中包含上述文件。
其他方法使用 Heroku environment variable。
您还可以在 Heroku 仪表板的应用程序设置选项卡中编辑配置变量,添加 BOT_TOKEN
然后按如下方式导入。
import os
token = os.environ.get('BOT_TOKEN')
提供一些背景知识:我在 python 中开发一个非常简单的 discord 机器人已经有一段时间了。它在我的电脑上是 运行,我过去一直使用一个名为 config.py 的 python 文件(存储在 .gitignore 中)来保密我的 API 密钥:
from config import * #retrieve file and it's variables
bot.run(api_key)
然后,随着我的机器人的进步,我研究了 Heroku,以 24/7 全天候托管我的机器人,而不必 运行 在我自己的计算机上。
但是,Heroku 已连接到我的 Github,并且由于我的 .gitignore 文件,我的 Heroku 应用程序无法检索 API 变量。
有什么方法可以让我的 Heroku 应用程序检索我的 API 密钥,而无需将其发布到我的存储库中?
非常感谢!
-mficco
有很多方法。
使用 configparser 将在 repo
在你的代码中应该是这样的
from configparser import ConfigParser
config = ConfigParser()
config.read("config.ini")
token = ["BOT"]["NAMEHERE]
你的 config.ini
文件在同一目录中,你可以跳过 [BOT]
但如果你有不止一件事只是为了组织
[BOT]
NAMEHERE = abjigaoi1654165
请记住,您必须在存储库中包含上述文件。
其他方法使用 Heroku environment variable。
您还可以在 Heroku 仪表板的应用程序设置选项卡中编辑配置变量,添加 BOT_TOKEN
然后按如下方式导入。
import os
token = os.environ.get('BOT_TOKEN')