Проблема с токеном (discord bot)
Выбивает ошибки связанные с токеном (как я понял Discord API отклоняет запрос на аутентификацию бота), токен импортируется из файла .env правильно, пробовал принтовать - токен выводится, тогда в чем может быть проблема?
import discord
from discord.ext import commands
import os
import asyncio
import logging
import traceback
from dotenv import load_dotenv
load_dotenv()
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
bot = commands.Bot(command_prefix="!", intents=discord.Intents.all())
@bot.event
async def on_ready():
logging.info(f"{bot.user.name} запущен и готов к работе!")
async def load_extensions():
for filename in os.listdir("./cogs"):
if filename.endswith(".py"):
extension_name = f"cogs.{filename[:-3]}"
try:
await bot.load_extension(extension_name)
logging.info(f"Загружен ког: {extension_name}")
except Exception as e:
logging.error(f"Ошибка при загрузке кога {extension_name}: {e}")
traceback.print_exc()
async def main():
async with bot:
await load_extensions()
token = (os.getenv("TOKEN"))
await bot.start(token)
if __name__ == "__main__":
asyncio.run(main())```
Прикрепляю изображение ошибок:
Текст ошибки:
Traceback (most recent call last): File "C:\Users\User\PycharmProjectRaman\pythonProject1.venv\Lib\site-packages\discord\http.py", line 816, in static_login data = await self.request(Route('GET', '/users/@me')) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\User\PycharmProjectRaman\pythonProject1.venv\Lib\site-packages\discord\http.py", line 758, in request raise HTTPException(response, data) discord.errors.HTTPException: 401 Unauthorized (error code: 0): 401: Unauthorized
The above exception was the direct cause of the following exception:
Traceback (most recent call last): File "C:\Users\User\PycharmProjectRaman\pythonProject1\main.py", line 41, in asyncio.run(main()) File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 194, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\asyncio\runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Program Files\Python312\Lib\asyncio\base_events.py", line 687, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "C:\Users\User\PycharmProjectRaman\pythonProject1\main.py", line 38, in main await bot.start(token) File "C:\Users\User\PycharmProjectRaman\pythonProject1.venv\Lib\site-packages\discord\client.py", line 786, in start await self.login(token) File "C:\Users\User\PycharmProjectRaman\pythonProject1.venv\Lib\site-packages\discord\client.py", line 620, in login data = await self.http.static_login(token) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\User\PycharmProjectRaman\pythonProject1.venv\Lib\site-packages\discord\http.py", line 820, in static_login raise LoginFailure('Improper token has been passed.') from exc discord.errors.LoginFailure: Improper token has been passed.
Ответы (1 шт):
Твой токен записан неправильно. Убери кавычки и убери скобки в строке с получением токена. Вот так:
TOKEN=токен