Utilities.py import aiogram import aiogram.filters import aiogram.types import aiogram.fsm.context import aiogram.fsm.state from aiogram.fsm.storage.redis import RedisStorage import redis.asyncio as redis with open("Telegram/Configs.json", "r") as File: TelegramConfigs: dict[str, typing.Any] = json.load(File) Main import Telegram.Utilities as Utilities Dispatcher=Utilities.aiogram.Dispatcher( storage=Utilities.RedisStorage( Utilities.redis.Redis( host="127.0.0.1", port=6379, ) ) ) Router=Utilities.aiogram.Router(name = "Main") @Router.message(Utilities.aiogram.filters.CommandStart()) @Router.callback_query(Utilities.aiogram.F.data == "start") async def start(MessageOrCallback: Utilities.aiogram.types.Message | Utilities.aiogram.types.CallbackQuery, State: Utilities.aiogram.fsm.context.FSMContext): print("/Started") Dispatcher.include_router(Router) This code is just a minimal example Looking at the docs (https://docs.aiogram.dev/en/dev-3.x/dispatcher/finite_state_machine/index.html) they casually have the FSM context as a second parameter in their start function but as soon as I run the start command I get this error: Cause exception while process update id=511380950 by bot id=7945450430 TypeError: start() missing 1 required positional argument: 'State' Traceback (most recent call last): File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/dispatcher.py", line 309, in _process_update response = await self.feed_update(bot, update, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/dispatcher.py", line 158, in feed_update response = await self.update.wrap_outer_middleware( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<7 lines>... ) ^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/middlewares/error.py", line 25, in __call__ return await handler(event, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/middlewares/user_context.py", line 56, in __call__ return await handler(event, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/fsm/middleware.py", line 42, in __call__ return await handler(event, data) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/event/telegram.py", line 121, in trigger return await wrapped_inner(event, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/event/handler.py", line 43, in call return await wrapped() ^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/dispatcher.py", line 276, in _listen_update return await self.propagate_event(update_type=update_type, event=event, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/router.py", line 146, in propagate_event return await observer.wrap_outer_middleware(_wrapped, event=event, data=kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/router.py", line 141, in _wrapped return await self._propagate_event( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ observer=observer, update_type=update_type, event=telegram_event, **data ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/router.py", line 174, in _propagate_event response = await router.propagate_event(update_type=update_type, event=event, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/router.py", line 146, in propagate_event return await observer.wrap_outer_middleware(_wrapped, event=event, data=kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/router.py", line 141, in _wrapped return await self._propagate_event( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ observer=observer, update_type=update_type, event=telegram_event, **data ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/router.py", line 166, in _propagate_event response = await observer.trigger(event, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/event/telegram.py", line 121, in trigger return await wrapped_inner(event, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/zein/Desktop/Usolabot/venv/lib/python3.13/site-packages/aiogram/dispatcher/event/handler.py", line 43, in call return await wrapped() ~~~~~~~^^ TypeError: start() missing 1 required positional argument: 'State' I've looked as hard as I can to try see what i'm not doing that they're doing but I just don't see it. Continue reading...