Задать вопрос
@ExPlooZip

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())**
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
phaggi
@phaggi
лужу, паяю, ЭВМы починяю
Проблема в том, что вы не читаете документацию, вот и сейчас не прочли документацию о том, как правильно размещать код здесь.
Ответ написан
Комментировать
class Question(StatesGroup):
    #Имя юзера
    name=State()
    #Вопрос юзера
    userAsk=State()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы