[英]Issue with reading Heroku hosted discord.py bot token from .env file
当我将令牌直接放入主代码时,我对 Heroku 没有任何问题。 当我将令牌隐藏在 my.env 文件中时,我的代码可以在我自己的计算机上运行。 但是当我使用 Heroku 运行它时,我的 Heroku 日志中出现以下错误:
2020-08-22T16:27:49.125385+00:00 app[worker.1]: await self.http.static_login(token.strip(), bot=bot)
2020-08-22T16:27:49.125400+00:00 app[worker.1]: AttributeError: 'NoneType' object has no attribute 'strip'
所以基本上,它根本没有读取我的令牌。 然后状态变为崩溃。 这是我阅读令牌的方式:
import os
import dotenv
from dotenv import load_dotenv
load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')
我已检查并在我的计算机上正确读取了令牌。
这不起作用的原因是令牌未添加到 heroku 中的配置变量中。 为此,导航到项目的设置页面,单击“添加配置变量”,然后添加变量。
Heroku 不会读取您的.env
文件。 我通常看到那些用于在开发或测试中加载环境,但在生产中却没有。 您可以在 Heroku 仪表板的“设置”选项卡中设置环境变量,或者您可以使用 Heroku 的 CLI 从终端进行设置:
heroku config:set DISCORD_TOKEN=myvalue
您可以使用以下方法检查环境变量:
heroku config
或者您可以检查一个环境变量
heroku config:get DISCORD_TOKEN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.