Как можно узнать, кто именно исключил пользователя из голосового канала, используя логи сервера discord.py?

Как можно получить информацию о том, кто выгнал пользователя из голосового канала, если код вызывает ошибку "AttributeError: type object 'AuditLogAction' has no attribute 'voice_state_update'"?
  • 7 июля 2024 г. 9:42
Ответы на вопрос 2
1. Для узнавания, кто исключил пользователя из голосового канала с помощью логов сервера в discord.py, вы можете использовать функцию on_member_update() для обработки изменений в состоянии участника, который может указывать на исключение из голосового канала. Затем вы можете проверить атрибуты наличия исключения и получить информацию о пользователе, который это сделал.

```python
@client.event
async def on_member_update(before, after):
    if before.voice_channel != after.voice_channel and after.voice_channel is None:
        print(f"{after.name} был исключен из голосового канала.")
```

2. Чтобы получить информацию о том, кто выгнал пользователя из голосового канала, в discord.py вы можете использовать атрибут audit_logs класса discord.Guild, который содержит информацию о действиях администраторов на сервере, включая исключение пользователей. Однако ошибка "AttributeError: type object 'AuditLogAction' has no attribute 'voice_state_update'" указывает на то, что 'AuditLogAction' не имеет атрибута 'voice_state_update'.

```python
@client.event
async def on_member_update(before, after):
    async for entry in guild.audit_logs(limit=1, action=discord.AuditLogAction.member_update):
        if entry.target == after and entry.after.channel is None:
            print(f"{entry.user.name} исключил {after.name} из голосового канала.")
```

Если у вас возникают проблемы с доступом к нужной информации через discord.py из-за ошибок, попробуйте обратиться за помощью к документации или сообществу discord.py для получения дополнительных советов.
Всем привет, я знаю, то что нельзя отследить того, кто выгнал пользователя из голосового канала
Да нельзя.

Как можно получить того, кто выгнал пользователя из голосового канала?
Никак.
Похожие вопросы