помогите исправить ошибку

xeaop

Участник
Автор темы
74
10
from aiogram import Bot, Dispatcher
from config import TOKEN # Используйте импортированный токен
import asyncio
from routers.handlers import router

dp = Dispatcher()

async def main():
bot = Bot(8001906414:AAHM0Asi0Tm_Pihavb8Bac1FWHAY780Hn**)
dp.include_router(router)
await dp.start_polling(bot)

asyncio.run(main())



ошибка
C:\Users\123\Desktop\PythonProject17>python main.py
File "C:\Users\123\Desktop\PythonProject17\main.py", line 9
bot = Bot(8001906414:AAHM0Asi0Tm_Pihavb8BacaFWHAY780Hnoo)
^
SyntaxError: invalid syntax
 

flupiflufi

Участник
95
29
Ошибка SyntaxError: invalid syntax у вас потому, что строка с токеном бота указана неправильно:

python
КопироватьРедактировать
bot = Bot(8001906414:AAHM0Asi0Tm_Pihavb8Bac1FWHAY780Hn**)

В Python токен должен быть передан как строка в кавычках, например:

python
КопироватьРедактировать
bot = Bot("8001906414:AAHM0Asi0Tm_Pihavb8Bac1FWHAY780Hn**")

Кроме того, у вас есть еще пара моментов, которые стоит поправить:

  1. В вашем коде bot инициализируется внутри функции main(), а до этого вы уже объявили dp = Dispatcher() вне функции. Лучше объявлять Dispatcher после создания Bot, потому что Dispatcher связывается с ботом.
  2. Также dp.start_polling() вызывается так, что bot надо передавать в Dispatcher при его создании, а не в start_polling().
  3. Отступы в функции main() отсутствуют.
Вот исправленный минимальный пример кода:

python
КопироватьРедактировать
from aiogram import Bot, Dispatcher
from config import TOKEN # импортируем токен из config
import asyncio
from routers.handlers import router

async def main():
bot = Bot(TOKEN)
dp = Dispatcher(bot)
dp.include_router(router)
await dp.start_polling()

asyncio.run(main())

Обратите внимание:

  • Токен передается как строка — у вас он уже должен быть в config.py в переменной TOKEN.
  • Dispatcher создается с bot в качестве аргумента.
  • Отступы исправлены.
  • start_polling() вызывается без аргументов.
    ответ чатажпт
 
  • Нравится
Реакции: xeaop