提供一些背景知识:一段时间以来,我一直在使用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
答案 0 :(得分:1)
方法很多。
在您的代码中应该是这样
from configparser import ConfigParser
config = ConfigParser()
config.read("config.ini")
token = ["BOT"]["NAMEHERE]
您的config.ini
文件位于同一目录中,您可以跳过[BOT]
,但只是整理一下(如果您有一件事情)
[BOT]
NAMEHERE = abjigaoi1654165
请记住,您必须在存储库中包含以上文件。
您还可以在Heroku信息中心的应用程序的“设置”标签中编辑配置变量,添加BOT_TOKEN
,然后按如下所示导入。
import os
token = os.environ.get('BOT_TOKEN')