メンションで指定されたユーザーのメッセージだけを削除するコマンドのサンプル
使い方 !mmd 1~100の数字 @mention#0000 @mention#9999 ...
設計octo-uro.icon
code: JavaScript
client.on('messageCreate', async message => {
if (message.content.startsWith('!mmd') && message.guild) {
// 指定されたメッセージの数を取得
const messageCount = message.content.split(' ')1; // メンションでユーザーが指定されていなかったら処理を止める
if (!messageCount || message.mentions.members.size == 0) return;
// 指定された数のメッセージを取得
const channelMessages = await message.channel.messages.fetch({ limit: messageCount });
// メンションで指定されたユーザーのIDのみを配列に入れる
const mentionMembers = message.mentions.members.map(msg => msg.user.id);
// 指定されたユーザーが発言したメッセージのみを抽出
const mentionFilter = channelMessages.filter(msg => mentionMembers.some(id => id == msg.author.id));
// それらのメッセージを一括削除
message.channel.bulkDelete(mentionFilter);
}
})
関連