@dmitryefr

Не могу понять в чём проблема Traceback (most recent call last): File «C:\telegrampogoda\pythonProject2\main.py», line 4, in from app.?

Выдаёт ошибку при работе Traceback (most recent call last):
File "C:\telegrampogoda\pythonProject2\main.py", line 4, in
from app.handlers import router
File "C:\telegrampogoda\pythonProject2\venv\app\handlers.py", line 63, in
router.message(Register.number, F.contact)
AttributeError: type object 'Register' has no attribute 'number'

667b220f59c6f802450452.jpeg

Сам код из папка Main.py

import asyncio
from aiogram import Bot, Dispatcher

from app.handlers import router

async def main():
    bot = Bot(token='7357711648:AAHuMsyZt9DY-QWEiNXdxKrVE14Gi-jkhwE')
    dp = Dispatcher()
    dp.include_router(router)
    await dp.start_polling(bot)


if __name__ == '__main__':
    try:
        asyncio.run(main())
    except KeyboardInterrupt:
        print('Бот выключен')

Код из папки Handlers.py

from aiogram import F, Router
from aiogram.types import Message, CallbackQuery
from aiogram.filters import CommandStart, Command
from aiogram.fsm.state import State, StatesGroup
from aiogram.fsm.context import FSMContext

import app.keyboards as kb


router = Router()


class Register(StatesGroup):
    name = State()
    age = State()
    Number = State()



@router.message(CommandStart())
async def cmd_start(message: Message):
    await message.answer('Привет!', reply_markup=kb.main)
    await message.reply('как дела?')


@router.message(Command('help'))
async def cmd_help(message: Message):
    await message.answer('Вы нажали на кнопку помощи')


@router.message(F.text == 'Каталог')
async def catalog(message: Message):
    await message.answer('Выберите категорию товара', reply_markup=kb.catalog)


@router.callback_query(F.data == 't-shirt')
async def tshirt(callback: CallbackQuery):
    await callback.answer('Вы выбрали категорию')
    await callback.message.answer('Вы выбрали категорию Минуалы РФ.')


@router.message(Command('register'))
async def register(message: Message, state: FSMContext):
    await state.set_state(Register.name)
    await message.answer('Ведите ваше имя')


@router.message(Register.name)
async def register_name(message: Message, state: FSMContext):
    await state.update_data(name=message.text)
    await state.set_state(Register.age)
    await message.answer('Ведите ваш возраст')



@router.message(Register.age)
async def register_age(message: Message, state: FSMContext):
    await state.update_data(age=message.text)
    await state.set_state(Register.number)
    await message.answer('Отправьте ваш номер телефона', reply_markup=kb.get_number)


@router.message(Register.number, F.contact)
async def register_number(message: Message, state: FSMContext):
    await state.update_data(number=message.contact.phone_number)
    data = await state.get_data()
    await message.answer(f'Ваше имя: {data["name"]}\nВаш Возраст: {data["age"]}\nНомер: {data["number"]}')
    await state.clear()

Код из папки Keyboards.py

from aiogram.types import (ReplyKeyboardMarkup, KeyboardButton,
                           InlineKeyboardMarkup, InlineKeyboardButton)


main = ReplyKeyboardMarkup(keyboard=[[KeyboardButton(text='Каталог')],
                                     [KeyboardButton(text='Корзина')],
                                     [KeyboardButton(text='Контакты'),
                                      KeyboardButton(text='О нас')]],
                           resize_keyboard=True,
                           input_field_placeholder='Выберите пункт меню...')

catalog = InlineKeyboardMarkup(inline_keyboard=[
    [InlineKeyboardButton(text='Минуалы РФ', callback_data='t-shirt')],
    [InlineKeyboardButton(text='Минуалы UA', callback_data='sneakers')],
    [InlineKeyboardButton(text='Минуалы EU', callback_data='cap')]])


get_number = ReplyKeyboardMarkup(keyboard=[[KeyboardButton(text='Отправить номер',
                                                           request_contact=True)]],
                                 resize_keyboard=True)


Сижу вторые сутки и пытаюсь решить проблему, тк как начинаю только всё изучать не понимаю в чём может быть проблема, перебробовал почти всё
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

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