@router.message(Command("promo")) async def promo_code_input(message: Message, state: FSMContext): text = (" Для получения звезд на ваш баланс введите промокод:\n" "<i>*Найти промокоды можно в канале и чате</i>") await message.answer(text, parse_mode=ParseMode.HTML) Python @router.message(Command("promo")) async def promo_code_input(message: Message, state: FSMContext): text = (" Для получения звезд на ваш баланс введите промокод:\n" "<i>*Найти промокоды можно в канале и чате</i>") await message.answer(text, parse_mode=ParseMode.HTML) Ошибка async def promo_code_input(message: types.Message, state: types.FSMContext): ^^^^^^^^^^^^^^^^ AttributeError: module 'aiogram.types' has no attribute 'FSMContext' Если добавляю в aigoram.types горит красным и выдаёт ошибку Ошибка 2 from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton, Message, FSMContext ImportError: cannot import name 'FSMContext' from 'aiogram.types' Почитал говорят надо убрать из aiogram.types и добавить from aiogram.fsm.context import FSMContext но когда добавляю эту строчку появляется первая ошибка
Проблема связана с тем, что в разных версиях библиотеки aiogram класс FSMContext находится в разных модулях, и неправильный импорт вызывает ошибки
Апатия, для 3, в любом случает у меня не работает часть кода и при исправлении ошибки она выдаёт новую именно с этой частью
Апатия, да и если бы код был для 2 aiogram у меня бы наебнулись все модули а проблема только с FSMContext
from aiogram.fsm.context import FSMContext from aiogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton Python from aiogram.fsm.context import FSMContext from aiogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton попробуй так
PISKA, из кода увы могу скинуть только части в которых он не работает, часть с промо и начало(библиотеки модули и импорты)
импортируй из aiogram.fsm.context и убери в функции аннотацию типа FSMContext, т.к. его нету в types. +- так async def promo_code_input(message: Message, state):
H1M88D4S, если FSMConext импортировать в types он автоматом красным горит, а в aiogram.fsm.conext всё нормально но оно пишет что не нету в types. То есть его надо в types но нельзя, а aiogram.fsm.conext не видит
H1M88D4S, в 450 строке было async def promo_code_input(message: types.Message, state: types.FSMContext): types.FSMContext и и из за этого просило FSMContext а туда его нельзя, и вот так это закрутилось