Ошибка TypeError: get_state() missing 1 required positional argument: 'self'

Пишу бота тг на библиотеке aiogram. У меня ошибка в машине состояний, не могу понять в чем проблема. Вот мой код:

import asyncio
import time
import config
from keyboards import markup

from aiogram import Bot, Dispatcher, executor, types
from sqlighter import SQLighter
from aiogram.dispatcher.filters import Command
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup
from aiogram.contrib.fsm_storage.memory import MemoryStorage

class NowState(StatesGroup):
    Kazino = State()
    KazinoPlay = State()

bot = Bot(token=config.token)
dp = Dispatcher(bot, storage=MemoryStorage)

db = SQLighter('db.db')

@dp.message_handler(commands=['start'], state='*')
async def add_user(message: types.Message):
    print(f'{message.date} Пользователь {message.chat.first_name} зашел в /start')
    if (not db.user_exists(message.from_user.id)):
        db.add_user(message.chat.first_name, message.from_user.id, message.from_user.username)
        print(f'{message.date} Пользователь {message.chat.first_name} внесен в БД')
    await bot.send_sticker(message.chat.id, 'CAACAgIAAxkBAAJLLWNy-iWyrGNFW3RjDXvoPX2_OHlzAAKHFQACPQ9QSd6bZv3Wx6O_KwQ')
    await bot.send_message(message.chat.id, "Привет, {0.first_name}!".format(message.from_user), reply_markup=markup)

@dp.message_handler(commands=['feedback'], state='*')
async def feedback(message: types.Message):
    print(f'{message.date} Пользователь {message.chat.first_name} зашел в /feedback')
    await bot.send_message(message.chat.id, 'Связь с разработчиком - https://t.me/ook_da')

@dp.message_handler(content_types=['sticker'], state='*')
async def sticker(message):
    print(f'{message.date} Пользователь {message.chat.first_name} просто скинул стикер, айди этого стикера: {message.sticker.file_id}')
    await message.reply('Я тебя не понял.')
    await bot.send_message(938764214, f'Стикер от пользователя {message.chat.first_name}')
    await bot.send_sticker(938764214, message.sticker.file_id)



@dp.message_handler(state=None)
async def text_messages(message: types.Message, state: FSMContext):
    if message.text == 'Крестики-Нолики❌⭕️(beta)':
        print(f'{message.date} Пользователь {message.chat.first_name} зашел в Крестики-Нолики❌⭕️(beta)')

        await message.answer('крестики нолики')
    elif message.text == 'Сообщение другому пользователю' and message.from_user.username == 'ook_da':
        print(f'{message.date} Пользователь {message.chat.first_name} зашел в Сообщение другому пользователю')
        await bot.send_message(message.chat.id, 'скоро будет')
    elif message.text == 'Казино?':
        await bot.send_message(message.chat.id, 'Позже')
        await NowState.Kazino.set()
    else:
        print(f'{message.date} Пользователь {message.chat.first_name} написал {message.text} ')
        await message.reply('Я тебя не понял.')

@dp.message_handler(state=NowState.Kazino)
async def kazino(message: types.Message, state: FSMContext):
    if message.text == 'Баланс':
        print(f'{message.date} Пользователь {message.chat.first_name} зашел в Баланс')
        await bot.reply('Ваш баланс: 1000')
    elif message.text == 'Назад?':
        print(f'{message.date} Пользователь {message.chat.first_name} зашел в Назад?')
        bot.reply('Хорошо', reply_markup=markup)
        state.finish()
    elif message.text == 'Игра':
        print(f'{message.date} Пользователь {message.chat.first_name} зашел в Игра')
        bot.reply('Погнали играть!')
        await NowState.KazinoPlay.set()


if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)

Ошибка в @dp.message_handler(state=None) и @dp.message_handler(state=NowState.Kazino)


Ответы (1 шт):

Автор решения: oleksandrigo

Потому-что не

dp = Dispatcher(bot, storage=MemoryStorage)

а

dp = Dispatcher(bot, storage=MemoryStorage())
→ Ссылка