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

在給定的不和諧頻道中搜索滿足條件的所有消息

Search a given discord channel for all messages that satisfies the condition and delete(在給定的不和諧頻道中搜索滿足條件的所有消息并刪除)
本文介紹了在給定的不和諧頻道中搜索滿足條件的所有消息并刪除的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我正在嘗試編寫一個代碼,該代碼將檢查頻道中的所有消息以查找包含某些單詞的消息,如果確實包含這些單詞,則將其刪除.所以像:

I was trying to make a code that will check all messages in a channel for messages that contain certain words, and delete them if it does contain them. So something like:

if(msg.content.startsWith(prefix+'clean') {
  let check = msg.content.split(prefix+'clean')[1]; // Condition, in this case if it containts a certain string
  msg.channel.fetchMessages().then(msgs => { // Get messages to check
    let msglog = msgs.array() // Make an array with all the messages fetched
    for(var i = 0; i < msglog.size; i++) { // Loop to check all messages in array
      if (check in msglog[i]) {
        // Code to delete that message
      };
    };
  });
};

我知道這不會檢查整個頻道,它只會檢查最后 50 條消息,但我不知道如何讓它檢查整個頻道,所以在我找到方法之前會這樣做.

I am aware that this will not check the entire channel and it will only check the last 50 messages, but I do not know how to make it check the whole channel so this will do until I find out how to do that.

但是什么代碼會刪除通過檢查的消息?或者我可以用什么不同的方法來解決這個問題?

But what code would delete the message that passes the check? Or any different way I could approach this?

我好像還不夠清楚,假設一個頻道有以下對話:

It seems I was not clear enough, so let's say a channel has the following conversation:

A:伙計們!

B 人:嗨

C 人:再見

假設我想通過我的機器人刪除所有帶有Hi"的消息,我應該怎么做?注意:我不會在消息發送后立即刪除它,我只想在我想刪除它時刪除它.

Let's say I want to delete all the messages with "Hi" in it through my bot, how should I do this? Note: I do not with to delete a message right after it has been sent, I only want to delete it when I want to do so.

推薦答案

bulkDelete 功能刪除給定的新消息超過兩周.

The bulkDelete function delete given messages that are newer than two weeks.

if(msg.content.startsWith(prefix+'clean') {
  let check = msg.content.split(prefix+'clean')[1]; // Condition, in this case if it containts a certain string
  msg.channel.fetchMessages().then(msgs => { // Get messages to check
    let msgDel = msgs.filter(msgss => msgss.content.includes(check)) // Finds all messages with 'check'
    msg.channel.bulkDelete(msgDel) // Deletes all messages that got found
  });
};

要刪除超過 2 周的消息,您必須手動遍歷消息以刪除它們:

To delete the messages older than 2 weeks, you have to iterate through the messages manually to delete them:

async function deleteReturnLast(chan, option, prevMsg, cond) {
  return chan.fetchMessages(option)
    .then(async msgs => {
      if (msgs.size === 0){
    if (cond(prevMsg)) {
      prevMsg.delete()
        .then(d => console.log('last message deleted: ' + d.content))
        .catch(err => console.log('ERR>>', err, prevMsg.content, option.before));   }
    return prevMsg;
      };
      let last = msgs.last();
      for (const[id, msg] of msgs) {
    let tmp = (id === last.id) ? prevMsg : msg;
    if (cond(tmp)) {
      tmp.delete()
        .then(d => console.log('Message deleted: ' + d.content))
        .catch(err => console.log('ERR>>', err));
    }
      };
      return last;
    })
    .catch(err => console.log('ERR>>', err));
}

function cond(msg) {
  return !msg.content.includes('a');
}

client.on('message', async function(msg) {
  let chan = msg.channel;
  let last = chan.lastMessage;
  while (last !== (last = await deleteReturnLast(chan, {limit: 2, before: last.id}, last, cond))){
  };
});

這篇關于在給定的不和諧頻道中搜索滿足條件的所有消息并刪除的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持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 服務器時的歡迎消息)
主站蜘蛛池模板: 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 浙江宝泉阀门有限公司| 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | 马尔表面粗糙度仪-MAHR-T500Hommel-Mitutoyo粗糙度仪-笃挚仪器 | 北京公寓出租网-北京酒店式公寓出租平台| 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 一礼通 (www.yilitong.com)-企业礼品解决方案一站式服务平台 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 煤矿人员精确定位系统_矿用无线通信系统_煤矿广播系统 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 精密五金冲压件_深圳五金冲压厂_钣金加工厂_五金模具加工-诚瑞丰科技股份有限公司 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 气力输送_输送机械_自动化配料系统_负压吸送_制造主力军江苏高达智能装备有限公司! | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 六维力传感器_六分量力传感器_模腔压力传感器-南京数智微传感科技有限公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 送料机_高速冲床送料机_NC伺服滚轮送料机厂家-东莞市久谐自动化设备有限公司 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 东莞ERP软件_广州云ERP_中山ERP_台湾工厂erp系统-广东顺景软件科技有限公司 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 防爆暖风机_防爆电暖器_防爆电暖风机_防爆电热油汀_南阳市中通智能科技集团有限公司 | 振动传感器,检波器-威海广达勘探仪器有限公司 | 立式硫化罐-劳保用品硫化罐-厂家直销-山东鑫泰鑫硫化罐厂家 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 水厂自动化|污水处理中控系统|水利信息化|智慧水务|智慧农业-山东德艾自动化科技有限公司 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 济南轻型钢结构/济南铁艺护栏/济南铁艺大门-济南燕翔铁艺制品有限公司 | 化妆品加工厂-化妆品加工-化妆品代加工-面膜加工-广东欧泉生化科技有限公司 | SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 酸度计_PH计_特斯拉计-西安云仪| 真空上料机(一种真空输送机)-百科| WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 单锥双螺旋混合机_双螺旋锥形混合机-无锡新洋设备科技有限公司 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 |