Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Aiogram Бот Найдите ошибку пожалуйста

Артём Бородин Ученик (86), открыт 6 часов назад
скажите пожалуйста что не так с кодом
from aiogram import Bot, Dispatcher, types
from aiogram.filters.command import Command
import asyncio

API_TOKEN = ""

bot = Bot(token = API_TOKEN)

dp = Dispatcher()

@dp.message(Command("start"))
async def send_welcome(message: types.Message):
await message.reply("Hi")

async def main():
await dp.start_polling(bot)

if __name__ == '__main__':
asyncio.run(main())
2 ответа
Даша Путешественникова Знаток (359) 6 часов назад
Ошибка в коде кроется в строке `if name == 'main':`. В Python, имя модуля определяется как `__name__`, а не `name`.

Исправленный код:


```python
from aiogram import Bot, Dispatcher, types
from aiogram.filters.command import Command
import asyncio

API_TOKEN = "YOUR_BOT_TOKEN" # Замените на ваш реальный токен

bot = Bot(token=API_TOKEN)

dp = Dispatcher()

@dp.message(Command("start"))
async def send_welcome(message: types.Message):
await message.reply("Hi")

async def main():
await dp.start_polling(bot)

if __name__ == 'main':
asyncio.run(main())
```



**Объяснение:**

* `__name__` - это специальная переменная в Python, которая хранит имя текущего модуля.
* Когда вы запускаете скрипт напрямую (без импорта), `__name__` имеет значение `"__main__"`.
Артём БородинУченик (86) 6 часов назад
спс
12 12 Мыслитель (8049) 6 часов назад
ошибку видимо ты решил не вставлять
Артём БородинУченик (86) 6 часов назад
я специально не вставил токен сюда
12 12 Мыслитель (8049) Артём Бородин, спасибо за ответ, с таким вниманием лучше с программированием завязать
Артём БородинУченик (86) 6 часов назад
возможно
Артём БородинУченик (86) 6 часов назад
или ты про табы?
они сами не вставились
12 12 Мыслитель (8049) Артём Бородин, я про ошибку...
Артём БородинУченик (86) 6 часов назад
хмм
какую ошибку?
я реально её не замечаю
12 12 Мыслитель (8049) Артём Бородин, все работает.
Артём БородинУченик (86) 6 часов назад
dispatcher исправил
D -> d
но теперь выдало:
dp = dispatcher()
TypeError: 'module' object is not callable
12 12 Мыслитель (8049) Артём Бородин, старый код рабочий.
Артём БородинУченик (86) 5 часов назад
странно мне выдаёт дофигилион ошибок из aiogram
12 12 Мыслитель (8049) Артём Бородин, это я от тебя и просил
Артём БородинУченик (86) 5 часов назад
а. их так много что не влозло в табло ввода
там было -1700 символов
12 12 Мыслитель (8049) Артём Бородин, последние строчки скинь
Артём БородинУченик (86) 5 часов назад
ща на несколько частей разобью
Похожие вопросы