Discord Python-бот не работает. Выдает ошибку AttributeError: объект «Выбрать» не имеет атрибута «пользователь».Python

Программы на Python
Anonymous
Discord Python-бот не работает. Выдает ошибку AttributeError: объект «Выбрать» не имеет атрибута «пользователь».

Сообщение Anonymous »

Вот фрагмент кода класса.
'из discord import ButtonStyle, SelectOption, Embed
из discord.ui import Button, View
import discord
Импортируйте необходимые функции из akashasql.py
из akashasql import getchocobits, addchocobits
класс StoreView(View):
def init(self):
super().init()
self.selected_item = Нет

Код: Выделить всё

async def fetch_user_chocobits(self, user_id):
# Fetch user's chocobits from the database
return getchocobits(user_id)

@discord.ui.select(
placeholder="Choose an item to buy...",
options=[
SelectOption(label="Test1", description="Costs 100 chocobits", value="100"),
SelectOption(label="Test2", description="Costs 200 chocobits", value="200"),
],
)
async def select_callback(self, select, interaction):
user_id = interaction.user.id
user_chocobits = await self.fetch_user_chocobits(user_id)
self.selected_item = select.values[0]
price = int(self.selected_item)
if user_chocobits < price:
await interaction.response.send_message("You do not have enough chocobits.", ephemeral=True)
self.stop()
else:
# Clear the select menu before adding a new item
self.clear_items()
self.add_item(Button(label="Confirm Buy", style=ButtonStyle.green))
# Update the message with the new view
await interaction.response.edit_message(content=f"Selected item costs {price} chocobits. Confirm purchase?", view=self)

@discord.ui.button(label="Confirm Buy", style=ButtonStyle.green)
async def confirm_callback(self, button, interaction):
user_id = interaction.user.id
price = int(self.selected_item)
addchocobits(user_id, -price)  # Deduct the price from user's chocobits
user_chocobits = await self.fetch_user_chocobits(user_id) - price
await interaction.response.send_message(f"Purchase confirmed! You now have {user_chocobits} chocobits left.", ephemeral=True)
self.stop()
`
Это предназначено для встраивания на сервер Discord, где пользователи могут использовать «ChocoBis» для покупки различных предметов (test1 и test2) . Однако когда я выбираю товар для покупки, появляется такая ошибка:

Код: Выделить всё

user_id = interaction.user.id
^^^^^^^^^^^^^^^^
AttributeError: у объекта «Выбрать» нет атрибута «пользователь»
Я понятия не имею, что происходит
Я ожидал, что он перейдет на следующий экран, но, к сожалению, бот «не отвечает», и сообщение об ошибке все еще здесь.
Я впервые обмениваюсь стеками, так что извините за плохое форматирование

Подробнее здесь: https://stackoverflow.com/questions/787 ... object-has

Вернуться в «Python»