Задать вопрос
  • Как отключить кнопки после нажатия?

    @Vasiliy009 Автор вопроса
    fenrir, Ага, пасибо, куратор просто топчик. Кидаем мне документации, вместо простой замены в код и объяснений почему это было заменено
    Написано
  • Как отключить кнопки после нажатия?

    @Vasiliy009 Автор вопроса
    fenrir, 6613f468b7c52062873640.png Почему так происходит? Я исправил как вы написали
    Написано
  • Как отключить кнопки после нажатия?

    @Vasiliy009 Автор вопроса
    fenrir, Как сделать чтобы и
    await interaction.response.send_message(f'Вы одобрили жалобу на участника')
    сработал и await interaction.response.edit_message(view=self) в одной обработке, если это никак, то каким образом сделать чтобы эти алгоритмы работали, покажите мне пожалуйства, я дундук, не щарю в этом всем. Можете показать это в моем коде, отредактиров его
    class ReportView(disnake.ui.View):
            message: disnake.Message
            def __init__(self, ctx, участник):
                super().__init__()
                self.member = участник
                self.ctx = ctx
            
            @disnake.ui.button(label='✅', style=disnake.ButtonStyle.success)
            async def confirm_button(self, button: disnake.ui.Button, interaction: disnake.MessageInteraction):
                for child in self.children:
                    if isinstance(child, disnake.ui.Button):
                        child.disabled = True
                await interaction.response.send_message(f'Вы одобрили жалобу на участника')
                await interaction.response.edit_message(view=self)
                p1_emb = discord.Embed(title = 'Репорт', 
                                description=f"Вы {self.member.mention} получили одобрение по вашей жалобе"
                                , colour = discord.Color.green() )
                p1_emb.set_author(name = self.member.name, icon_url= self.member.avatar.url if self.member.avatar else None)
                p1_emb.set_footer(text='Действие выполнено модератором/админом - ' + self.ctx.author.name,
                                icon_url=self.ctx.author.avatar.url)
                try:
                    await self.member.send(embed=p1_emb)
                except discord.Forbidden:
                    pass 
    
            @disnake.ui.button(label='❌', style=disnake.ButtonStyle.danger)
            async def deny_button(self, button: disnake.ui.Button, interaction: disnake.MessageInteraction):
                for child in self.children:
                    if isinstance(child, disnake.ui.Button):
                        child.disabled = True
                await interaction.response.send_message(f'Вы отказали жалобу на участника')
                await interaction.response.edit_message(view=self)
                p2_emb = discord.Embed(title = 'Репорт', 
                                description=f"Вы {self.member.mention} получили отказ по вашей жалобе!\nПодробности вы можете узнать у <@{self.ctx.author.id}>"
                                , colour = discord.Color.green() )
                p2_emb.set_author(name = self.member.name, icon_url= self.member.avatar.url if self.member.avatar else None)
                p2_emb.set_footer(text='Действие выполнено модератором/админом - ' + self.ctx.author.name,
                                icon_url=self.ctx.author.avatar.url)
                try:
                    await self.member.send(embed=p2_emb)
                except discord.Forbidden:
                    pass
    Написано
  • Как отключить кнопки после нажатия?

    @Vasiliy009 Автор вопроса
    fenrir, У меня точно такой же код, ни единной ошибки, я все проверил, но когда приходит момент редактирование, в терминале пишет
    Ignoring exception in view <ReportView timeout=30.0 children=2> for item <Button style=<ButtonStyle.danger: 4> url=None disabled=True label='❌' emoji=None row=None>:
    Traceback (most recent call last):
      File "C:\Users\Lenovo\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\disnake\ui\view.py", line 385, in _scheduled_task
        await item.callback(interaction)
      File "C:\Users\Lenovo\OneDrive\Рабочий стол\News Naru\cogs\member.py", line 45, in deny_button
        await interaction.response.edit_message(view=self)
      File "C:\Users\Lenovo\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\discord\interactions.py", line 1010, in edit_message
        raise InteractionResponded(self._parent)

    Что не так с ним?
    @disnake.ui.button(label='✅', style=disnake.ButtonStyle.success)
            async def confirm_button(self, button: disnake.ui.Button, interaction: disnake.MessageInteraction):
                for child in self.children:
                    if isinstance(child, disnake.ui.Button):
                        child.disabled = True
                await interaction.response.send_message(f'Вы одобрили жалобу на участника')
                p1_emb = discord.Embed(title = 'Репорт', 
                                description=f"Вы {self.member.mention} получили одобрение по вашей жалобе"
                                , colour = discord.Color.green() )
                p1_emb.set_author(name = self.member.name, icon_url= self.member.avatar.url if self.member.avatar else None)
                p1_emb.set_footer(text='Действие выполнено модератором/админом - ' + self.ctx.author.name,
                                icon_url=self.ctx.author.avatar.url)
                await interaction.response.edit_message(view=self)
                try:
                    await self.member.send(embed=p1_emb)
                except discord.Forbidden:
                    pass
    Написано
  • Как отключить кнопки после нажатия?

    @Vasiliy009 Автор вопроса
    fenrir, А как надо правильно сделать? Можете по подробнее объяснить, я просто впервые с disnake работаю, и не до понимаю что до как
    Написано
  • Как отключить кнопки после нажатия?

    @Vasiliy009 Автор вопроса
    Если я ставлю в конце await interaction.response.edit_message(view=self) то неактивная кнопка добавляется в сообщение "Вы одобрили жалобу на участника", а если ставить до алгоритма с текстом, то остальные алгоритмне срабатывают
    @disnake.ui.button(label='✅', style=disnake.ButtonStyle.success)
            async def confirm_button(self, button: disnake.ui.Button, interaction: disnake.MessageInteraction):
                for child in self.children:
                    if isinstance(child, disnake.ui.Button):
                        child.disabled = True
                await interaction.response.send_message(f'Вы одобрили жалобу на участника')
                p1_emb = discord.Embed(title = 'Репорт', 
                                description=f"Вы {self.member.mention} получили одобрение по вашей жалобе"
                                , colour = discord.Color.green() )
                p1_emb.set_author(name = self.member.name, icon_url= self.member.avatar.url if self.member.avatar else None)
                p1_emb.set_footer(text='Действие выполнено модератором/админом - ' + self.ctx.author.name,
                                icon_url=self.ctx.author.avatar.url)
                try:
                    await self.member.send(embed=p1_emb)
                except discord.Forbidden:
                    pass 
                await interaction.response.edit_message(view=self)

    Пробывал
    await interaction.edit_original_response(view=self)
    и await interaction.edit_original_message(view=self)
    Написано
  • При одобрение или отказа от администраторского панеля, не отправляется ответ пользователю в телеграм бот?

    @Vasiliy009 Автор вопроса
    Но есть еще одна проблема, когда я пишу Одобрить или Отказать, то какого сообщение не приходит ни к пользователю ни админу
  • При одобрение или отказа от администраторского панеля, не отправляется ответ пользователю в телеграм бот?

    @Vasiliy009 Автор вопроса
    А как получить ид пользователя который заполнил анкету, и этому челокету ответить, я как-то не понял