Ответы пользователя по тегу discord.py
  • Что не так с командой?

    creat1vv
    @creat1vv
    nodejs developer
    В ошибке ведь написано, что Пустота не имеет атрибутов node. Значит player не хранит в себе ничего.
    Ответ написан
    Комментировать
  • Как указать автора в button?

    creat1vv
    @creat1vv
    nodejs developer
    В команде передаем автора:
    author = ctx.author
    view = Menu(author)


    А в классе с кнопками получаем автора:
    class Menu(discord.ui.View):
        def __int__(self, author):
            super().__init__()
            self.author = author


    Потом где вам нужно - указываете self.author
    Ответ написан
    Комментировать
  • Как сделать временый бан на discord.py?

    creat1vv
    @creat1vv
    nodejs developer
    Через tasks можно легко это реализовать.

    Просто при выдаче бана записывайте в базу данных время когда человека нужно будет разбанить, а через tasks каждую минуту например проверяйте если время сейчас больше или равно времени истечения бана - снимаете бан.
    Ответ написан
    Комментировать
  • Смена ника по кнопке. Если можно то скиньте код!Можно ли сделать так Python?

    creat1vv
    @creat1vv
    nodejs developer
    В чем проблема? Делаете команду к примеру !changenick [nick] пользователь её вводит, сообщение отправляется в админ чат с привязанной кнопкой, и там уже при нажатии на кнопку меняете пользователю ник и меняете сообщение на то что статус выполнено.
    Ответ написан
    Комментировать
  • Как отправить сообщение в чат?

    creat1vv
    @creat1vv
    nodejs developer
    Во первых ваш event в когах, по этому нужно ставить self. Исправил ваш код, попробуйте.
    должно работать.
    @commands.Cog.listener()
      async def on_member_update(self, member, before, after):
        if before.roles != after.roles:
          channel = self.bot.get_channel(930793530102779974)
          emb = discord.Embed(description = f'**Обновление ролей - {before.mention}**', colour = discord.Color.red())
          emb.add_field(name = '**Роли до**', value = ", ".join([r.mention for r in before.roles]))
          emb.add_field(name = '**Роли после**', value = ", ".join([r.mention for r in after.roles]))
          async for event in before.guild.audit_logs(limit = 1, action = discord.AuditLogAction.member_role_update):
            if getattr(event.target, "id", None) != before.id:
              continue
            print(after.roles, event.user)
            emb.add_field(name = "Изменённые рои", value = ",".join([getattr(r, "mention", r.id) for r in event.before.roles or event.after.roles]))
            emb.add_field(name = "Модератор", value = event.user)
            break
          await channel.send(embed = emb)
    Ответ написан
    Комментировать