You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord Bot 1.7.3运行报错:AttributeError: 'NoneType'无strip属性

问题解决:AttributeError: 'NoneType' object has no attribute 'strip'

错误根源

当前报错核心是os.environ.get('DISCORD-TOKEN')返回了None——你的系统环境变量里没正确设置DISCORD-TOKEN这个变量。discord.py尝试调用token.strip()时,None类型没有strip方法,因此抛出错误。

解决方案

1. 验证并设置环境变量

  • Windows系统:
    • 打开命令提示符,输入echo %DISCORD-TOKEN%,如果输出为空或不是你的机器人令牌,说明环境变量未设置。
    • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在用户/系统变量中添加DISCORD-TOKEN,值为你的机器人令牌。
    • 重启终端或IDE,确保环境变量生效。
  • macOS/Linux系统:
    • 打开终端,输入echo $DISCORD-TOKEN,检查输出是否为有效令牌。
    • 临时生效:运行脚本前执行export DISCORD-TOKEN="你的机器人令牌"。
    • 永久生效:将上述export命令添加到~/.bashrc/~/.zshrc等shell配置文件,再执行source ~/.bashrc(对应配置文件)。

2. 临时测试(仅用于验证逻辑,禁止生产环境使用)

如果想快速确认代码逻辑正常,可以直接替换令牌字符串(注意不要提交到公共仓库):

client.run("你的Discord机器人令牌")

确认运行正常后,再换回环境变量方式。

3. 使用.env文件管理密钥(推荐开发环境)

  1. 安装依赖包:
    pip install python-dotenv
    
  2. 在项目根目录创建.env文件,写入:
    DISCORD-TOKEN=你的机器人令牌
    OPENAI-KEY=你的OpenAI密钥
    
  3. 在代码开头添加加载逻辑:
    import discord
    import asyncio
    import openai
    import os
    from dotenv import load_dotenv
    
    # 加载.env中的环境变量
    load_dotenv()
    
    openai.api_key = os.environ.get('OPENAI-KEY')
    # ... 其余代码不变
    

额外说明

你使用的discord.py 1.7.3版本本身支持client.run(os.environ.get('DISCORD-TOKEN'))写法,当前报错和版本无关,完全是环境变量未正确加载导致的。

内容的提问来源于stack exchange,提问作者MARIUCHINAS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 01:20:31