Miao-Yunzai/apps/disPri.ts

79 lines
1.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { ConfigController as cfg } from 'yunzai/config'
import { Plugin } from 'yunzai/core'
/**
*
*/
export class disPri extends Plugin {
/**
*
*/
constructor() {
/**
name: '禁止私聊',
dsc: '对私聊禁用做处理当开启私聊禁用时只接收cookie以及抽卡链接',
*/
super({
event: 'message.private'
})
/**
*
*/
this.priority = 0
}
/**
*
* @returns
*/
async accept() {
if (!cfg.other?.disablePrivate) return
if (this.e.isMaster) return
/** 发送日志文件xlsxjson */
if (this.e.file) {
if (!/(.*)\.txt|xlsx|json/ig.test(this.e.file?.name)) {
this.sendTips()
return 'return'
} else {
return false
}
}
/** 绑定ck抽卡链接 */
let wordReg = /(.*)(ltoken|_MHYUUID|authkey=)(.*)|导出记录(json)*|(记录|安卓|苹果|ck|cookie|体力)帮助|^帮助$|^#*(删除|我的)ck$|^#(我的)?(uid|UID)[0-9]{0,2}$/g
/** 自定义通行字符 */
let disableAdopt = cfg.other?.disableAdopt
if (!Array.isArray(disableAdopt)) {
disableAdopt = []
}
disableAdopt = disableAdopt.filter(str => str != null && str !== '');
let disableReg = `(.*)(${disableAdopt.join('|')})(.*)`
if (this.e.raw_message) {
if (!new RegExp(wordReg).test(this.e.raw_message) && (disableAdopt.length === 0 || !new RegExp(disableReg).test(this.e.raw_message))) {
this.sendTips()
return 'return'
}
}
}
/**
*
* @returns
*/
async sendTips() {
/** 冷却cd 10s */
let cd = 10
if (this.e.user_id == cfg.qq) return
/** cd */
let key = `Yz:disablePrivate:${this.e.user_id}`
if (await redis.get(key)) return
this.e.reply(cfg.other.disableMsg)
redis.setEx(key, cd, '1')
}
}