pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

Discord.js//過濾消息startsWith 并解決bulkDelete 的Dis

Discord.js // Filtering message startsWith and work around DiscordAPIError for bulkDelete(Discord.js//過濾消息startsWith 并解決bulkDelete 的DiscordAPIError)
本文介紹了Discord.js//過濾消息startsWith 并解決bulkDelete 的DiscordAPIError的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

這是我當前的代碼.感謝@André Dion 的幫助.

This is my current code. Credit goes to @André Dion for the help.

  if (message.channel.type == 'text') {
    message.channel.fetchMessages().then(messages => {
        const botMessages = messages.filter(msg => msg.author.bot) 
        message.channel.bulkDelete(botMessages);
        messagesDeleted = botMessages.array().length; // number of messages deleted

        // Logging the number of messages deleted on both the channel and console
        message.channel.send("Deletion of messages successful. Total messages deleted: " + messagesDeleted);
        console.log('Deletion of messages successful. Total messages deleted: ' + messagesDeleted)
    }).catch(err => {
        console.log('Error while doing Bulk Delete');
        console.log(err);
    });
}

當用戶輸入!clearMessages"時,它會運行此代碼并僅刪除來自機器人的消息.我想添加一個功能,它還可以刪除以 !/./> 開頭的用戶消息(這些消息不僅可以來自用戶,也可以來自機器人),所以我嘗試使用 const botMessages 將行編輯為:const botMessages = messages.filter(msg => msg.author.bot && msg.content.startsWith("!" || "." || ">"));不行.你能指出我哪里出錯了,我該如何解決這個問題?

When the user enters "!clearMessages" it runs this code and deletes only messages from bots. I would like to add a feature where this also deletes messages from users that starts with !/./> (these messages can be from users not only bots), so I tried editing the line with the const botMessages to this: const botMessages = messages.filter(msg => msg.author.bot && msg.content.startsWith("!" || "." || ">")); but that didn't work. Can you please point out where I'm going wrong and how I can fix this?

我注意到的另一個問題是,當只有 1 條機器人消息時,機器人不會刪除該消息并出現 DiscordAPIError,表示您必須提供至少 2-100 條消息才能刪除.有解決辦法嗎?

Another issue I noticed is that when there is only 1 bot message the bot doesn't delete the message and comes up with an DiscordAPIError, saying that you must provide at least 2-100 messages to delete. Is there a work around this?

謝謝.

推薦答案

const botMessages = messages.filter(msg => msg.author.bot && msg.content.startsWith 有兩個問題("!" || "." || ">"));:

  1. msg.content.startsWith("!" || "." || ">") 只會根據第一個真實的語句進行評估:"!".String#startsWith 只需要一個模式,因此您必須將該調用拆分為三個調用.為方便起見,讓我們將這些檢查的結果分配給單個變量:

  1. msg.content.startsWith("!" || "." || ">") is only going to evaluate against the first truthy statement: "!". String#startsWith only takes a single pattern, so you'll have to split that call into three calls. Let's assign the result of these checks into a single variable for convenience:

const isCommand = msg.content.startsWith("!") || msg.content.startsWith(".") || msg.content.startsWith(">");

  • 您想要過濾掉機器人用戶發出的或看起來像命令的消息.當前,您的邏輯已編寫,因此機器人發出的消息 看起來像命令被過濾,這是錯誤的(機器人不會發出任何命令).上述添加的正確檢查是:

  • You want to filter out messages that are issued by bot users or that look like a command. Currently your logic is written so that messages that are issued by bots and look like a command are filtered, which is wrong (bots won't be issuing any commands). The correct check with the above additions would be:

    const botMessages = messages.filterArray(msg => {
        const isCommand = msg.content.startsWith("!") || msg.content.startsWith(".") || msg.content.startsWith(">");
    
        return msg.author.bot || isCommand;
    });
    

  • 更正您的過濾器邏輯應該會修復您的 DiscordAPIError 異常,但要確保沒有發出錯誤的調用,您應該保護 bulkDelete 調用:

    Correcting your filter logic should fix your DiscordAPIError exception but to ensure no bad calls are being issued, you should guard the bulkDelete invocation:

    if (botMessages.length > 1) {
        message.channel.bulkDelete(botMessages);
    } else if (botMessages.length) {
        botMessages[0].delete();
    } else {
        // nothing to delete
    }
    

    這篇關于Discord.js//過濾消息startsWith 并解決bulkDelete 的DiscordAPIError的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

    【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

    相關文檔推薦

    discord.js v12: How do I await for messages in a DM channel?(discord.js v12:我如何等待 DM 頻道中的消息?)
    how to make my bot mention the person who gave that bot command(如何讓我的機器人提及發出該機器人命令的人)
    How to fix Must use import to load ES Module discord.js(如何修復必須使用導入來加載 ES 模塊 discord.js)
    How to list all members from a specific server?(如何列出來自特定服務器的所有成員?)
    Discord bot: Fix ‘FFMPEG not found’(Discord bot:修復“找不到 FFMPEG)
    Welcome message when joining discord Server using discord.js(使用 discord.js 加入 discord 服務器時的歡迎消息)
    主站蜘蛛池模板: 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 深圳彩钢板_彩钢瓦_岩棉板_夹芯板_防火复合彩钢板_长鑫 | 门禁卡_智能IC卡_滴胶卡制作_硅胶腕带-卡立方rfid定制厂家 | 混合气体腐蚀试验箱_盐雾/硫化氢/气体腐蚀试验箱厂家-北京中科博达 | hdpe土工膜-防渗膜-复合土工膜-长丝土工布价格-厂家直销「恒阳新材料」-山东恒阳新材料有限公司 ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 影视模板素材_原创专业影视实拍视频素材-8k像素素材网 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 视觉检测设备_自动化检测设备_CCD视觉检测机_外观缺陷检测-瑞智光电 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 隐形纱窗|防护纱窗|金刚网防盗纱窗|韦柏纱窗|上海青木装潢制品有限公司|纱窗国标起草单位 | H型钢切割机,相贯线切割机,数控钻床,数控平面钻,钢结构设备,槽钢切割机,角钢切割机,翻转机,拼焊矫一体机 | 工业淬火油烟净化器,北京油烟净化器厂家,热处理油烟净化器-北京众鑫百科 | 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 大型果蔬切片机-水果冬瓜削皮机-洗菜机切菜机-肇庆市凤翔餐饮设备有限公司 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 合肥网络推广_合肥SEO网站优化-安徽沃龙First | 德州网站开发定制-小程序开发制作-APP软件开发-「两山开发」 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 华中线缆有限公司-电缆厂|电缆厂家|电线电缆厂家 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 除甲醛公司-甲醛检测-广西雅居环境科技有限公司 | 能量回馈_制动单元_电梯节能_能耗制动_深圳市合兴加能科技有限公司 | 镀锌角钢_槽钢_扁钢_圆钢_方矩管厂家_镀锌花纹板-海邦钢铁(天津)有限公司 | 高压直流电源_特种变压器_变压器铁芯-希恩变压器定制厂家 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 |