Utilice registros de auditoría. Sin embargo, el bot necesitará permisos:
client.on("roleDelete", async role => { let member; try { const log = await role.guild.fetchAuditLogs({ type: "ROLE_DELETE" }) member = role.guild.members.resolve(log.entries.first().executor) } catch (err) { console.log(err) // simply for debugging } if (!member) member = null }) Y ahora, cuando acceda al member , se mostrará null si no pudo encontrar al ejecutor, pero mostrará el GuildMember que eliminó el rol si se encontró.