Я создаю бота для ведения журнала Discord, чтобы регистрировать все обновления ролей участников моего сервера, а также тех, кто выполнил эти изменения. Я наблюдал некоторые записи журнала аудита для действия журнала аудита MEMBER_ROLE_UPDATE
и получаю следующее:
GuildAuditLogsEntry {
targetType: 'USER',
actionType: 'UPDATE',
action: 'MEMBER_ROLE_UPDATE',
reason: null,
executor: User {
id: '334911278298562561',
bot: false,
username: 'Pritt',
discriminator: '0780',
avatar: 'e5e205996571c0c7c4e69246027fb1f8',
flags: UserFlags { bitfield: 256 },
lastMessageID: null,
lastMessageChannelID: null
},
changes: [ { key: '$add', old: undefined, new: [Array] } ],
id: '732185365166817280',
extra: null,
target: User {
id: 'hidden',
bot: false,
username: 'hidden',
discriminator: '3203',
avatar: 'hidden',
flags: UserFlags { bitfield: 256 },
lastMessageID: null,
lastMessageChannelID: null
}
}
Это очень просто, это журнал, который я собирал, когда обновлял роль пользователь на моем сервере. Я вижу, что свойство executor
- это объект пользователя.
Меня беспокоит только то, что рассматриваемая роль управляется интеграцией (например, ролью нитроусилителя или любой из ролей бота). Эти роли не могут быть назначены или удалены вручную какими-либо участниками, поэтому исполнителем записи журнала аудита не может быть пользователь. Что это за собственность тогда?