AIOGRAM TypeError: State.__init__() got multiple values for argument 'state' в чем может быть ошибка?
В чем может быть проблема? Уже очень долго сижу и не могу найти ошибку. Задача кода - используя fsm, получать от пользователя телеграм бота Имя и сообщение с вопросом.
Питон и aiogram установил свежие буквально сегодня.
Вот сам код:
**import asyncio
import logging
from aiogram import Bot, Dispatcher, types
from aiogram.filters.command import Command
from config import TOKEN,admin_id
from keyboards import keyboard_menu
from aiogram import F
from aiogram.types import CallbackQuery
from aiogram.fsm.state import StatesGroup, State
from aiogram.fsm.context import FSMContext
# Включаем логирование, чтобы не пропустить важные сообщения
logging.basicConfig(level=logging.INFO)
# Объект бота
bot = Bot(token=TOKEN)
# Диспетчер
dp = Dispatcher()
message=types.Message
#Класс с состояниями для отправки вопроса от клиента
class Question(StatesGroup):
#Имя юзера
name=State
#Вопрос юзера
userAsk=State
# Хэндлер на команду /start
@dp.message(Command("start"))
async def cmd_start(message, state: FSMContext):
await message.answer(text='Здравствуйте! Чем я могу вам помочь?',
reply_markup=keyboard_menu)
await state.clear()
#хэндлер ловит нажатие клавиши "задать вопрос" и отправляет пользователя в процедуру отпарвки вопроса
@dp.callback_query(F.data=='ask_button_pressed')
async def user_asking_first(callback: CallbackQuery,state: FSMContext):
await bot.send_message(callback.from_user.id,'Как я могу к вам обращаться?')
await callback.answer()
await state.set_state(Question.name)
@dp.message(Question.name)
async def user_asking_second(message,state: FSMContext):
await state.apdate_data(name=message.text)
await message.answer('Напишите свой вопрос:')
await state.set_state(Question.userAsk)
@dp.message(Question.userAsk)
async def user_asking_third(message,state: FSMContext):
await message.answer('Вы отправили свой вопрос!\nСкоро вам ответят!\nВоспользуйтесь командой "/start", если хотите сделать что-то еще!')
await bot.send_message(admin_id, f'Новое обращение!\nID: {message.from_user.id}\nТекст сообщения: {message.text}')
await state.clear()
#Нажатие кнопки "Запись на мероприятие"
@dp.callback_query(F.data=='event_button_pressed')
async def process_vent_buttons_press(callback: CallbackQuery):
await bot.send_message(admin_id,str('kek_event'))
await callback.answer()
#Нажатие кнопки "Получить обратную связь"
@dp.callback_query(F.data=='callback_button_pressed')
async def process_callback_buttons_press(callback: CallbackQuery):
await bot.send_message(admin_id,str('kek_callback'))
await callback.answer()
# Хэндлер на любое сообщение
@dp.message()
async def echo_message(message):
await bot.send_message(message.from_user.id,'Здравствуйте! Используете команду "/start" и я помогу вам!')
# Запуск процесса поллинга новых апдейтов
async def main():
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())**
1. Оформляем код кнопкой </>, этого требуют правила сайта.
2. Приводим полный traceback ошибки, оформляем его также.
Чем читаемее вопрос, тем больше шансов получить ответ.