繁体   English   中英

从.env 文件中读取 Heroku 托管的 discord.py 机器人令牌时出现问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM