Je viens de commencer à apprendre à créer un robot Discord et j'essaie de comprendre comment enregistrer qui a supprimé un message.
J'ai essayé message.author
, mais bien sûr, cela enregistre qui a envoyé le message, et je ne connais pas grand chose de la syntaxe, donc je n'ai rien essayé d'autre.
Vous pouvez utiliser le
messageDelete
Eventqui se déclenche lorsqu'un message est supprimé. Vous pouvez consulter le journal d'audit pour voir si un utilisateur a supprimé les messages d'autres utilisateurs.Tout d'abord, assurez-vous d'avoir l'intention requise :
Guilds
,GuildMembers
和GuildMessages
。您还需要partials
:Channel
,Message
和GuildMember
pour gérer les messages envoyés avant la mise en ligne de votre bot.Une fois qu'un message est supprimé, vous pouvez utiliser la méthode
fetchAuditLogs
pour obtenir le journal d'audit du serveur sur lequel se trouvait le message supprimé.Dans discord.js v14.8+, il y a un nouvel événement
GuildAuditLogEntryCreate
。您可以在收到相应的审核日志事件(GuildAuditLogEntryCreate
)时立即找出谁删除了消息。它需要启用GuildModeration
Intent.