如何修复属性错误'NoneType'对象没有属性'strip'



我目前正在制作一个不和谐的python机器人。我是相对较新的,不知道如何解决这个错误。这听起来像其他一些人有这个错误之前,但我不确定如何在我的代码中使用他们的解决方案。到目前为止,机器人应该只是响应"Hello!"当用户输入"$hello"我希望这将返回消息"Bot已连接到Discord!",但得到这个错误- AttributeError: 'NoneType'对象没有属性'strip'

下面是我的代码:
# 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!')

async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('$hello'):
await message.channel.send('Hello!')
client.run(os.getenv('DISCORD_TOKEN'))

任何解决方案将不胜感激!由于

编辑:很抱歉没有包括完整的错误。

Traceback (most recent call last):
File "/Users/kodyneldner/DiscordBot/bot.py", line 25, in <module>
client.run(os.getenv('DISCORD_TOKEN'))
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/discord/client.py", line 723, in run
return future.result()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/discord/client.py", line 702, in runner
await self.start(*args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/discord/client.py", line 665, in start
await self.login(*args, bot=bot)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/discord/client.py", line 511, in login
await self.http.static_login(token.strip(), bot=bot)
AttributeError: 'NoneType' object has no attribute 'strip'

以下是导致错误的几个原因,以及它们的解决方案:

  1. Token设置None,如果该变量不存在或存在且值为None,则os.getenv('DISCORD_TOKEN')返回该值。确保你的文件是。Env位于与py文件相同的目录中。确保它是不是.txt文件.

  2. 这个错误可能是由于加载令牌值失败而发生的。试着这样写(它可能会对你有帮助):

from dotenv import load_dotenv
load_dotenv('---.env')

最新更新