You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript编写的Discord机器人中提取消息内匹配的违禁词列表

违禁词匹配功能实现方案

你需要的功能可以直接用JavaScript数组的filter方法实现,和你之前用的Python列表推导逻辑完全一致:遍历违禁词列表,筛选出所有在消息内容中存在的词汇即可。

修改后的完整代码如下:

bot.on('messageCreate', message => {
    const bannedwords = ['word1', 'word2'];
    // 筛选所有命中的违禁词,返回结果就是你需要的匹配数组
    const matchedWords = bannedwords.filter(term => message.content.includes(term));
    if (matchedWords.length > 0) {
        message.delete();
        // 可选择把命中的违禁词拼接进警告内容里
        message.author.send(`Woah there buddy! You can't say that. You used the banned words: ${matchedWords.join(', ')}`)
    }
});

补充说明

  • 把你原来用的some()方法替换为filter(),就能直接返回所有符合匹配条件的违禁词数组,你举的示例场景下返回结果就是['person1', 'person3']
  • 如果需要避免子串误判(比如违禁词是aa,不会误匹配到消息里的aab),可以把匹配逻辑改成带单词边界的正则匹配:
    const matchedWords = bannedwords.filter(term => new RegExp(`\\b${term}\\b`).test(message.content));
    

内容的提问来源于stack exchange,提问作者user15114419

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:36:00