【问题标题】:AttributeError: 'NoneType' object has no attribute 'strip' when trying to make a discord botAttributeError:尝试制作不和谐机器人时,“NoneType”对象没有属性“strip”
【发布时间】:2020-12-20 13:58:23
【问题描述】:

我正在尝试使用 python 制作一个不和谐的机器人,当我运行基本代码时它返回“AttributeError: 'NoneType' object has no attribute 'strip'” 我正在关注this 教程。 我有 2 个文件 - bot.py 和 bot.env(用于存储令牌) 这是2个文件: bot.py:

import os

import discord
from dotenv import load_dotenv

load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')

client = discord.Client()

@client.event
async def on_ready():
    print(f"{client.user} has connected to Discord!")

client.run(TOKEN)

和 bot.env:

DISCORD_TOKEN={token}

它应该显示“{bot name} 已连接到 Discord!” 我用谷歌搜索了错误,但找不到解决方案。

【问题讨论】:

  • 如果您想将令牌存储在代码中,只需编写 TOKEN = "your token"(在脚本开头)。然后你可以删除: 1. import os 2. from dotenv import load_dotenv 3. load_dotenv() 4. TOKEN = os.getenv('DISCORD_TOKEN') 或者尝试在@LeoGauntlinked的问题中寻找解决方案
  • 感谢您的帮助!我不知道我怎么错过了同样的问题,但是将令牌存储在代码中会有所帮助。
  • 如果您解决了您的答案,最好将解决方案分享给其他人。
  • @Nurqm 我已经这样做了...?将令牌存储在变量 TOKEN 而不是单独的 .env 文件中解决了我的问题

标签: python discord.py


【解决方案1】:

您只需要添加一个新行并按照@RiveN 提到的那样加载环境

import discord
import os
from dotenv import load_dotenv
load_dotenv()

【讨论】:

    【解决方案2】:

    在环境变量中存储令牌时会出现许多问题,因此我建议将其存储在一个文件中并读取它,或者使用返回令牌的函数制作一个 python 文件,然后导入它。
    当您在外部托管服务器上托管您的机器人时,您无法访问这些变量。所以,在某些时候,你需要改变这种获取令牌的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-03
      • 1970-01-01
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多