Передача переменной из одного класса в другой

Дилетант в разработке, но учусь. Пишу тикет-бота, задача которого создавать тикет для пользователя по нажатию на кнопку "CreateTicket".

class Tickets(disnake.ui.View): # Класс, отвечающий за создание тикета пользователем
def __init__(self):
    super().__init__(timeout=None)
    self.ticket_opener = None  # Атрибут для хранения пользователя, открывшего тикет

@disnake.ui.button(label='Открыть тикет', style=disnake.ButtonStyle.green, custom_id="GiveTiket:Green")
async def CreateTicket(self, button: disnake.ui.Button, interaction: disnake.MessageInteraction):
    self.ticket_opener = interaction.user  # Запоминаем пользователя, открывшего тикет

    overwrites = {
        guild.default_role: disnake.PermissionOverwrite(read_messages=False),
        user: disnake.PermissionOverwrite(read_messages=True)
    }
    await private_channel.send(embed=embed1, view=Tickets3())

Проблема заключается во 2 классе, в котором содержится функционал для переоткрытия тикета модератором. Логика работы заключается в том, что каналу необходимо переназначить права для этого конкретного юзера, поэтому необходимо передать переменную user, которая содержит данные о человеке и по которой удастся назначить на него права overwrites.

class Tickets12(disnake.ui.View): # Класс отвечает за переоткрытие тикета модератором
def __init__(self):
    super().__init__(timeout=None)

@disnake.ui.button(label="Открыть", style=disnake.ButtonStyle.grey, custom_id="ReopenTicket1:grey")
async def ReopenTicket1(self, button: disnake.ui.Button, interaction: disnake.MessageInteraction):
    private_channel = interaction.channel

    # Восстановление прав для чтения у пользователя, открывшего тикет
    if private_channel.category:
        overwrites = private_channel.category.overwrites
        if self.ticket_opener in overwrites:
            overwrite = overwrites[self.ticket_opener]
            overwrite.update(read_messages=True)
            await private_channel.set_permissions(self.ticket_opener, overwrite=overwrite)

Пытаюсь передать данные с класса в класс через атрибут self.ticket_opener, но по итогу при тесте я получаю ошибку AttributeError: 'Tickets12' object has no attribute 'user'. Что я не понимаю и почему не передаются данные? Спасибо!


Ответы (0 шт):