Top.Mail.Ru
Ответы

Помогите пожалуйста с кодом Python

что если в коде для телеграмм бота он не распознает syntax aiogram
form aiogram import Bot, Dispatsher, types
^^^^^^^
SyntaxError: invalid syntax

вот код form telegram import Bot, Dispatsher, types
from telegram.filters.command import Command
import asyncio

API_TOKEN="токен скрыл"

bot = Bot(token=API_TOKEN)
dp = Dispatsher()

@dp.message(Command("submitrequest"))
async def send_request(message: types.Message):
await message.reply("Привкт , заполни эту форму \n-на кого/на что/и тд. \nваша причина")


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

if__name__=='__main__':
asyncio.run(main())

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Гуру
1мес

❌ Ошибки в коде
form → from — опечатка, отсюда SyntaxError.

telegram и aiogram — разные библиотеки. У тебя в заголовке aiogram, а дальше telegram — они не совместимы.

Dispatsher → Dispatcher` — ещё одна опечатка.

starp_polling → start_polling` — опечатка.

if__name__ → if __name__ — неправильно написано условие запуска.

✅ Исправленный код (на aiogram 3.x, актуальная версия)

from aiogram import Bot, Dispatcher, types
from aiogram.filters import Command
from aiogram.types import Message
import asyncio

API_TOKEN = "сюда_вставь_свой_токен"

bot = Bot(token=API_TOKEN)
dp = Dispatcher()

@dp.message(Command("submitrequest"))
async def send_request(message: Message):
await message.answer("Привет! Заполни форму:\n- На кого/на что\n- Причина")

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

if __name__ == "__main__":
asyncio.run (main())

📦 Убедись, что установлена aiogram

pip install -U aiogram


🛠 Подсказка:
Если ты начинаешь, лучше использовать aiogram, так как она:

активно развивается

поддерживает фильтры, FSM, middlewares и т.д.

хорошая документация

Мы стараемся быть полезными. GLAVQA