Загрузка...

Error for the output

Thread in Python created by cerdicor Feb 20, 2025. 114 views

  1. cerdicor
    cerdicor Topic starter Feb 20, 2025 guest тебя ищут > https://lolz.live/threads/8289159/ 3458 May 15, 2021
    PS C:\work> & C:/Python312/python.exe c:/work/garant/garant.py
    Traceback (most recent call last):
    File "c:\work\garant\garant.py ", line 85, in <module>
    @dp.message(DealState.amount)
    ^^^^^^^^^^^^^^^^
    AttributeError: type object 'DealState' has no attribute 'amount'
    :pepeomg: ватафак из дис гайс
     
  2. Монополист
    Монополист Feb 20, 2025 https://lolz.live/threads/8640118/ - обмен всего и вся 9762 Mar 6, 2021
    Нет такого атрибута, без кода тяжело понять че там у тебя происходит
     
    1. cerdicor Topic starter
      Python
      @dp.callback_query(F.data == "create_deal")
      async def create_deal_handler(callback_query: types.CallbackQuery, state: FSMContext):
      await state.set_state(DealState.amount)
      await callback_query.message.answer_photo(
      photo=FSInputFile(LOGO_PATH),
      caption="Введите сумму TON сделки в формате: 100.5",
      reply_markup=InlineKeyboardMarkup(
      inline_keyboard=[
      [InlineKeyboardButton(text="Отменить сделку", callback_data="cancel_deal")]
      ]
      )
      )

      # Ввод суммы сделки
      @dp.message(DealState.amount)
      async def handle_amount(message: types.Message, state: FSMContext):
      user_data[message.from_user.id] = {"amount": message.text}
      await state.set_state(DealState.description)
      await message.answer("Укажите, что вы предлагаете в этой сделке.\nПример: 10 Кепок и Пепе")

      # Ввод описания сделки
      @dp.message(DealState.description)
      async def handle_description(message: types.Message, state: FSMContext):
      user_data[message.from_user.id]["description"] = message.text
      amount = user_data[message.from_user.id]["amount"]
      description = message.text

      # Генерация ссылки для покупателя
      deal_id = f"5009c09e93{random.randint(1000, 9999)}"
      referral_link = f"https://t.me/GlftEIifRobot?start={deal_id}"

      # Отправляем подтверждение создания сделки
      text = f"""
      ✔ Сделка успешно создана!

      Сумма: {amount} TON
      Описание: {description}
      Ссылка для покупателя: {referral_link}
      """

      # Отправляем сообщение
      photo = FSInputFile(LOGO_PATH)
      await message.answer_photo(photo=photo, caption=text, parse_mode="HTML")

      # Отправляем сообщение через 50 секунд
      await asyncio.sleep(50)

      # Отправка сообщения о присоединении пользователя к сделке
      user_tag = "@hesoyamxz"
      successful_deals = 10 # Это статический счетчик успешных сделок

      join_message = f"""
      Пользователь {user_tag} присоединился к сделке {deal_id}
      Успешные сделки: {successful_deals}
      Проверьте, что это тот же пользователь, с которым вы вели диалог ранее.
      """

      await bot.send_message(ADMIN_CHAT_ID, join_message)
      await message.answer(join_message)

      await state.clear()

      # Обработчик кнопки "Отменить сделку"
      @dp.callback_query(F.data == "cancel_deal")
      async def cancel_deal(callback_query: types.CallbackQuery, state: FSMContext):
      await state.clear()
      await callback_query.message.answer("Сделка отменена.")
    2. Монополист
      cerdicor,
      Code
      from aiogram.fsm.state import StatesGroup, State

      class DealState(StatesGroup):
      amount = State()
      description = State()
      Вот это добавь
  3. 09030535
    09030535 Feb 20, 2025 16 Feb 3, 2019
    Ошибка, которую вы видите, указывает на то, что у класса DealState нет атрибута с именем amount. Это может происходить по нескольким причинам:

    Опечатка или неправильное имя атрибута: Возможно, вы опечатались в имени атрибута или пытаетесь обратиться к атрибуту, которого нет в классе DealState.
    Атрибут не определен: Атрибут amount может быть не определен в классе DealState.
    Неправильный импорт или использование класса: Возможно, вы используете не тот класс или импортировали не тот модуль.

    Как исправить:


    Проверьте определение класса DealState:

    Откройте файл, где определен класс DealState, и проверьте, существует ли атрибут amount.
    Убедитесь, что amount определен как атрибут класса или как атрибут экземпляра.
    Пример:

    python
    Copy
    class DealState:
    amount = None # Пример атрибута класса
    # или
    def __init__(self):
    self.amount = None # Пример атрибута экземпляра
    Проверьте имя атрибута:

    Убедитесь, что имя amount написано правильно и точно совпадает с тем, что определено в классе DealState.

    Проверьте импорты:

    Убедитесь, что вы импортируете правильный класс DealState из нужного модуля.
    Пример:

    python
    Copy
    from ваш_модуль import DealState
    Проверьте, где используется @dp.message(DealState.amount):

    Если amount должен быть атрибутом, но его нет, возможно, вы забыли его добавить в класс DealState.
    Если amount должен быть частью состояния, убедитесь, что вы правильно используете FSM (Finite State Machine) или другой механизм управления состоянием.


    Пример исправления:

    Если amount должен быть частью состояния, убедитесь, что вы правильно определили состояние. Например, в библиотеке aiogram для FSM это может выглядеть так:
    python
    Copy
    from aiogram.fsm.state import State, StatesGroup

    class DealState(StatesGroup):
    amount = State() # Определяем состояние amount
    Затем используйте это состояние в вашем коде:
    python
    Copy
    @dp.message(DealState.amount)
    async def handle_amount(message: Message, state: FSMContext):
    # Ваш код обработки сообщения
    Если вы предоставите больше контекста или кода, я смогу помочь более точно!
     
    1. View previous comments (3)
    2. 09030535
      cerdicor, пробуй, нейронка пасты наворотила
    3. cerdicor Topic starter
      09030535, уже исправил но все равно спасибо за попытку помощи
  4. maksemen1
    maksemen1 Feb 20, 2025 мани с гейма https://zelenka.guru/threads/5792572/ 9319 Jul 28, 2018
    вы когда чат гпт просите на аиграме писать, уточняйте что 3.x вам надо
    или скачивайте 2.x
     
    1. cerdicor Topic starter
      maksemen1, привет дело не в нейронке а в моей невнемательности
    2. Киана
      maksemen1, напишут на 3, с кусками 2 и задают вопросы. Ррррр
Top
Loading...