eslint
This commit is contained in:
@@ -22,5 +22,6 @@ module.exports = {
|
||||
'camelcase': 'off',
|
||||
'quote-props': ['error', 'consistent'],
|
||||
'no-eval': ['error', { 'allowIndirect': true }]
|
||||
}
|
||||
},
|
||||
ignorePatterns: ['resources/state/echarts.min.js']
|
||||
}
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,6 +4,5 @@ data/
|
||||
test.*
|
||||
*.log
|
||||
.vscode/
|
||||
.eslintignore
|
||||
temp/
|
||||
*.css.map
|
||||
5
.husky/pre-commit
Normal file
5
.husky/pre-commit
Normal file
@@ -0,0 +1,5 @@
|
||||
echo "-----------代码正在eslint格式化-----------"
|
||||
|
||||
pnpm run lint
|
||||
|
||||
echo "-----------代码格式化完成-----------"
|
||||
@@ -92,7 +92,7 @@ export class Admin extends plugin {
|
||||
|
||||
// 更改配置
|
||||
async ConfigSwitch (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
// 解析消息
|
||||
let regRet = SwitchCfgReg.exec(e.msg)
|
||||
let key = regRet[1]
|
||||
@@ -126,7 +126,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
|
||||
// 修改数字设置
|
||||
async ConfigNumber (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let regRet = e.msg.match(NumberCfgReg)
|
||||
let type = NumberCfgType[regRet[1]]
|
||||
let number = checkNumberValue(regRet[2], type.limit)
|
||||
@@ -136,7 +136,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
|
||||
// 修改全部通知设置
|
||||
async SetAllNotice (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let yes = /启用/.test(e.msg)
|
||||
for (let i in NoticeCfgType) {
|
||||
Config.modify('whole', NoticeCfgType[i], yes)
|
||||
@@ -145,7 +145,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
async Settings (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (/sese|涩涩/.test(e.msg)) {
|
||||
this.SeSe_Settings(e)
|
||||
} else {
|
||||
|
||||
@@ -16,7 +16,7 @@ let GroupListMsgReg = /^#发群列表\s?(\d+(,\d+){0,})\s?([^]*)$/
|
||||
let friendTypeReg = /^#更改好友申请方式([0123])((.*)\s(.*))?$/
|
||||
|
||||
export class Assistant extends plugin {
|
||||
constructor() {
|
||||
constructor () {
|
||||
super({
|
||||
name: '椰奶小助手',
|
||||
event: 'message',
|
||||
@@ -134,13 +134,13 @@ export class Assistant extends plugin {
|
||||
})
|
||||
}
|
||||
|
||||
get Bot() {
|
||||
get Bot () {
|
||||
return this.e.bot ?? Bot
|
||||
}
|
||||
|
||||
/** 改头像 */
|
||||
async SetAvatar(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SetAvatar (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!e.img) {
|
||||
this.setContext('_avatarContext')
|
||||
e.reply('⚠ 请发送图片')
|
||||
@@ -155,7 +155,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
})
|
||||
}
|
||||
|
||||
async _avatarContext() {
|
||||
async _avatarContext () {
|
||||
let img = this.e.img
|
||||
if (/取消/.test(this.e.msg)) {
|
||||
this.finish('_avatarContext')
|
||||
@@ -178,8 +178,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 改昵称 */
|
||||
async SetNickname(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SetNickname (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let name = e.msg.replace(/#|改昵称/g, '').trim()
|
||||
|
||||
await this.Bot.setNickname(name)
|
||||
@@ -191,8 +191,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 改群名片 */
|
||||
async SetGroupCard(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SetGroupCard (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let group = ''
|
||||
let card = ''
|
||||
|
||||
@@ -223,7 +223,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 改群头像 */
|
||||
async SetGroupAvatar(e) {
|
||||
async SetGroupAvatar (e) {
|
||||
if (e.isPrivate) {
|
||||
if (!e.isMaster) return logger.mark(`${e.logFnc}不为主人`)
|
||||
e.group_id = e.msg.replace(/#|改群头像/g, '').trim()
|
||||
@@ -255,7 +255,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
})
|
||||
}
|
||||
|
||||
_GroupAvatarContext(e) {
|
||||
_GroupAvatarContext (e) {
|
||||
let img = this.e.img
|
||||
if (/取消/.test(this.e.msg)) {
|
||||
this.finish('_GroupAvatarContext')
|
||||
@@ -278,8 +278,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 改群昵称 */
|
||||
async SetGroupName(e) {
|
||||
if (!common.checkPermission(e, 'admin', 'admin')) return
|
||||
async SetGroupName (e) {
|
||||
if (!common.checkPermission(e, 'admin', 'admin')) return
|
||||
let group = ''
|
||||
let card = ''
|
||||
|
||||
@@ -315,8 +315,8 @@ if (!common.checkPermission(e, 'admin', 'admin')) return
|
||||
}
|
||||
|
||||
/** 改签名 */
|
||||
async SetSignature(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SetSignature (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let signs = e.msg.replace(/#|改签名/g, '').trim()
|
||||
await this.Bot.setSignature(signs)
|
||||
.then(() => e.reply('✅ 签名修改成功'))
|
||||
@@ -327,8 +327,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 改状态 */
|
||||
async SetOnlineStatus(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SetOnlineStatus (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let signs = e.msg.replace(/#|改状态/g, '').trim()
|
||||
|
||||
if (!signs) return e.reply('❎ 状态不为空,可选值:我在线上,离开,隐身,忙碌,Q我吧,请勿打扰')
|
||||
@@ -346,8 +346,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 发好友 */
|
||||
async SendFriendMsg(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SendFriendMsg (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let regRet = FriendsReg.exec(e.msg)
|
||||
let qq = regRet[1]
|
||||
e.message[0].text = regRet[2]
|
||||
@@ -365,8 +365,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 发群聊 */
|
||||
async SendGroupMsg(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SendGroupMsg (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let regRet = GroupMsgReg.exec(e.msg)
|
||||
|
||||
let gpid = regRet[1]
|
||||
@@ -387,8 +387,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
// 发送群列表
|
||||
async SendGroupListMsg(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SendGroupListMsg (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
// 获取参数
|
||||
let regRet = GroupListMsgReg.exec(e.msg)
|
||||
let gpid = regRet[1]
|
||||
@@ -438,8 +438,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 退群 */
|
||||
async QuitGroup(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async QuitGroup (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let quits = e.msg.replace(/#|退群/g, '').trim()
|
||||
|
||||
if (!quits) return e.reply('❎ 群号不能为空')
|
||||
@@ -447,12 +447,12 @@ if (!common.checkPermission(e, 'master')) return
|
||||
if (!/^\d+$/.test(quits)) return e.reply('❎ 群号不合法')
|
||||
|
||||
if (!this.Bot.gl.get(Number(quits))) return e.reply('❎ 群聊列表查无此群')
|
||||
|
||||
|
||||
if (quits == e.group_id) {
|
||||
e.reply('✅ 3秒后退出本群聊')
|
||||
await common.sleep(3000)
|
||||
e.reply('✅ 3秒后退出本群聊')
|
||||
await common.sleep(3000)
|
||||
}
|
||||
|
||||
|
||||
await this.Bot.pickGroup(quits).quit()
|
||||
.then(() => e.reply('✅ 已退出群聊'))
|
||||
.catch((err) => {
|
||||
@@ -462,8 +462,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 删好友 */
|
||||
async DeleteFriend(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async DeleteFriend (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let quits = e.msg.replace(/#|删好友/g, '').trim()
|
||||
|
||||
if (e.message[1]) {
|
||||
@@ -484,8 +484,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 改性别 */
|
||||
async SetGender(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async SetGender (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let sex = e.msg.replace(/#|改性别/g, '').trim()
|
||||
|
||||
if (!sex) return e.reply('❎ 性别不能为空 可选值:男,女,无\n(改为无,为无性别)')
|
||||
@@ -506,7 +506,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 取直链 */
|
||||
async ImageLink(e) {
|
||||
async ImageLink (e) {
|
||||
let img = []
|
||||
if (e.source) {
|
||||
let source
|
||||
@@ -543,7 +543,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
return true
|
||||
}
|
||||
|
||||
async _ImageLinkContext() {
|
||||
async _ImageLinkContext () {
|
||||
let img = this.e.img
|
||||
if (this.e.msg === '取消') {
|
||||
this.finish('_ImageLinkContext')
|
||||
@@ -560,7 +560,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 取Face表情 */
|
||||
async Face(e) {
|
||||
async Face (e) {
|
||||
let face = []
|
||||
for (let m of e.message) {
|
||||
if (m.type === 'face') {
|
||||
@@ -588,8 +588,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** QQ空间 说说列表 */
|
||||
async Qzonelist(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async Qzonelist (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let page = e.msg.replace(/#|获?取说说列表/g, '').trim()
|
||||
if (!page) {
|
||||
page = 0
|
||||
@@ -614,8 +614,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 删除说说 */
|
||||
async Qzonedel(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async Qzonedel (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let pos = e.msg.match(/\d+/)
|
||||
// 获取说说列表
|
||||
let list = await new QQApi(e).getQzone(1, pos - 1)
|
||||
@@ -637,8 +637,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 发说说 */
|
||||
async Qzonesay(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async Qzonesay (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let con = e.msg.replace(/#|发说说/g, '').trim()
|
||||
let result = await new QQApi(e).setQzone(con, e.img)
|
||||
if (!result) return e.reply(API_ERROR)
|
||||
@@ -654,8 +654,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 清空说说和留言 */
|
||||
async QzonedelAll(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async QzonedelAll (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (/清空说说/.test(e.msg)) {
|
||||
this.setContext('_QzonedelAllContext')
|
||||
e.reply('✳️ 即将删除全部说说请发送:\n' + '------确认清空或取消------')
|
||||
@@ -667,7 +667,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
}
|
||||
|
||||
async _QzonedelAllContext(e) {
|
||||
async _QzonedelAllContext (e) {
|
||||
let msg = this.e.msg
|
||||
if (/#?确认清空/.test(msg)) {
|
||||
this.finish('_QzonedelAllContext')
|
||||
@@ -692,8 +692,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
// 获取群|好友列表
|
||||
async GlOrFl(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async GlOrFl (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let msg = []
|
||||
if (/群列表/.test(e.msg)) {
|
||||
// 获取群列表并转换为数组
|
||||
@@ -718,7 +718,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
// 引用撤回
|
||||
async RecallMsgown(e) {
|
||||
async RecallMsgown (e) {
|
||||
if (!e.source) return false
|
||||
let source
|
||||
if (e.isGroup) {
|
||||
@@ -730,12 +730,10 @@ if (!common.checkPermission(e, 'master')) return
|
||||
|
||||
if (e.isGroup) {
|
||||
// 群聊判断权限
|
||||
if (!e.isMaster && !e.member.is_owner && !e.member.is_admin)
|
||||
return logger.warn(`${e.logFnc}该群员权限不足`)
|
||||
if (!e.isMaster && !e.member.is_owner && !e.member.is_admin) { return logger.warn(`${e.logFnc}该群员权限不足`) }
|
||||
} else {
|
||||
// 私聊判断是否为Bot消息
|
||||
if (source.sender.user_id != this.Bot.uin)
|
||||
return logger.warn(`${e.logFnc}引用不是Bot消息`)
|
||||
if (source.sender.user_id != this.Bot.uin) { return logger.warn(`${e.logFnc}引用不是Bot消息`) }
|
||||
}
|
||||
if (source.message[0].type === 'file' && e.isGroup) {
|
||||
// 删除文件
|
||||
@@ -765,16 +763,16 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
// 开关好友添加
|
||||
async FriendSwitch(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async FriendSwitch (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let res = await new QQApi(e).addFriendSwitch(/开启/.test(e.msg) ? 1 : 2)
|
||||
if (!res) return e.reply(API_ERROR)
|
||||
e.reply(res.ActionStatus)
|
||||
}
|
||||
|
||||
// 好友申请方式
|
||||
async FriendType(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async FriendType (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let regRet = friendTypeReg.exec(e.msg)
|
||||
if (regRet[1] == 0) return e.reply('1为允许所有人,2为需要验证,3为问答正确问答(需填问题和答案,格式为:#更改好友申请方式3 问题 答案)')
|
||||
// 单独处理
|
||||
@@ -787,8 +785,8 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
/** 开关戳一戳 */
|
||||
async Cyc(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async Cyc (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let result = await new QQApi(e).setcyc(/开启/.test(e.msg) ? 0 : 1)
|
||||
if (!result) return e.reply(API_ERROR)
|
||||
|
||||
@@ -796,53 +794,50 @@ if (!common.checkPermission(e, 'master')) return
|
||||
e.reply(`✅ 已${/开启/.test(e.msg) ? '开启' : '关闭'}戳一戳功能`)
|
||||
}
|
||||
|
||||
async setModel(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
async setModel (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let model = e.msg.replace(/#|设置机型/g, '')
|
||||
let res = await new QQApi(e).setModel(model).catch(err => logger.error(err))
|
||||
e.reply(_.get(res, ['13031', 'data', 'rsp', 'iRet']) == 0 ? '设置成功' : '设置失败')
|
||||
}
|
||||
|
||||
async BlockOne(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let type = ""
|
||||
let name = "拉"
|
||||
async BlockOne (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let type = ''
|
||||
let name = '拉'
|
||||
if (/^#拉白(群聊?)?/.test(this.e.msg)) {
|
||||
type += "white"
|
||||
name += "白"
|
||||
type += 'white'
|
||||
name += '白'
|
||||
} else {
|
||||
type += "black"
|
||||
name += "黑"
|
||||
type += 'black'
|
||||
name += '黑'
|
||||
}
|
||||
if (/^#拉[黑白](群聊?)/.test(this.e.msg)) {
|
||||
type += "Group"
|
||||
name += "群"
|
||||
type += 'Group'
|
||||
name += '群'
|
||||
} else {
|
||||
type += Version.name == "TRSS-Yunzai" ? "User" : "QQ"
|
||||
type += Version.name == 'TRSS-Yunzai' ? 'User' : 'QQ'
|
||||
}
|
||||
const configPath = 'config/config/other.yaml'
|
||||
/** 判断at */
|
||||
if (this.e.at) {
|
||||
this.blackResult = this.e.at
|
||||
} else {
|
||||
if (Version.name == "TRSS-Yunzai") {
|
||||
if (Version.name == 'TRSS-Yunzai') {
|
||||
/** TRSS-Yunzai匹配所有字符 */
|
||||
const blackId = this.e.msg.replace(/^#拉[黑白](群聊?)?/, '').trim()
|
||||
this.blackResult = Number(blackId) || String(blackId)
|
||||
} else {
|
||||
const match = this.e.msg.match(/\d+/)
|
||||
if (match?.[0])
|
||||
this.blackResult = Number(match[0]) || String(match[0])
|
||||
if (match?.[0]) { this.blackResult = Number(match[0]) || String(match[0]) }
|
||||
}
|
||||
}
|
||||
if (!this.blackResult)
|
||||
return this.e.reply(`❎ ${name}失败,没有键入用户或群号`)
|
||||
if (!this.blackResult) { return this.e.reply(`❎ ${name}失败,没有键入用户或群号`) }
|
||||
try {
|
||||
const yamlContentBuffer = await fs.promises.readFile(configPath)
|
||||
const yamlContent = yamlContentBuffer.toString('utf-8')
|
||||
const data = yaml.parse(yamlContent)
|
||||
if (!Array.isArray(data[type]))
|
||||
data[type] = []
|
||||
if (!Array.isArray(data[type])) { data[type] = [] }
|
||||
if (!data[type].includes(this.blackResult)) {
|
||||
data[type].push(this.blackResult)
|
||||
const updatedYaml = yaml.stringify(data, { quote: false })
|
||||
@@ -858,38 +853,36 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
}
|
||||
|
||||
async CancelBlockOne(e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let type = ""
|
||||
let name = "取消拉"
|
||||
async CancelBlockOne (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let type = ''
|
||||
let name = '取消拉'
|
||||
if (/^#(取消|删除|移除)(群聊?)?拉白(群聊?)?/.test(this.e.msg)) {
|
||||
type += "white"
|
||||
name += "白"
|
||||
type += 'white'
|
||||
name += '白'
|
||||
} else {
|
||||
type += "black"
|
||||
name += "黑"
|
||||
type += 'black'
|
||||
name += '黑'
|
||||
}
|
||||
if (/^#(取消|删除|移除)拉[黑白](群聊?)/.test(this.e.msg)) {
|
||||
type += "Group"
|
||||
name += "群"
|
||||
type += 'Group'
|
||||
name += '群'
|
||||
} else {
|
||||
type += Version.name == "TRSS-Yunzai" ? "User" : "QQ"
|
||||
type += Version.name == 'TRSS-Yunzai' ? 'User' : 'QQ'
|
||||
}
|
||||
const configPath = 'config/config/other.yaml'
|
||||
if (this.e.at) {
|
||||
this.blackResult = this.e.at
|
||||
} else {
|
||||
if (Version.name == "TRSS-Yunzai") {
|
||||
if (Version.name == 'TRSS-Yunzai') {
|
||||
const blackId = this.e.msg.replace(/^#(取消|(删|移)除)拉[黑白](群聊?)?/, '').trim()
|
||||
this.blackResult = Number(blackId) || String(blackId)
|
||||
} else {
|
||||
const match = this.e.msg.match(/\d+/)
|
||||
if (match?.[0])
|
||||
this.blackResult = Number(match[0]) || String(match[0])
|
||||
if (match?.[0]) { this.blackResult = Number(match[0]) || String(match[0]) }
|
||||
}
|
||||
}
|
||||
if (!this.blackResult)
|
||||
return this.e.reply(`❎ ${name}失败,没有键入用户或群号`)
|
||||
if (!this.blackResult) { return this.e.reply(`❎ ${name}失败,没有键入用户或群号`) }
|
||||
try {
|
||||
const yamlContentBuffer = await fs.promises.readFile(configPath)
|
||||
const yamlContent = yamlContentBuffer.toString('utf-8')
|
||||
|
||||
11
apps/fun.js
11
apps/fun.js
@@ -21,7 +21,7 @@ _.forIn(picApis, (values, key) => {
|
||||
const apiReg = new RegExp(`(${picApiKeys.join('|')}|^jktj$|^接口统计$)`)
|
||||
|
||||
export class Fun extends plugin {
|
||||
constructor(e) {
|
||||
constructor (e) {
|
||||
super({
|
||||
name: '椰奶娱乐',
|
||||
event: 'message',
|
||||
@@ -81,8 +81,7 @@ export class Fun extends plugin {
|
||||
}
|
||||
]
|
||||
})
|
||||
if (e?.message?.[0]?.text == "#全部赞我")
|
||||
this.thumbUp(e)
|
||||
if (e?.message?.[0]?.text == '#全部赞我') { this.thumbUp(e) }
|
||||
}
|
||||
|
||||
/** 随机唱鸭 */
|
||||
@@ -263,8 +262,8 @@ export class Fun extends plugin {
|
||||
common.recallsendMsg(e, segment.image(url))
|
||||
redis.set(key, 'cd', { EX: 2 })
|
||||
}
|
||||
|
||||
async LookAvatar() {
|
||||
|
||||
async LookAvatar () {
|
||||
const id = this.e.msg.replace(/^#?查?看头像/, '').trim() || this.e.at ||
|
||||
this.e.message.find(item => item.type == 'at')?.qq || this.e.user_id
|
||||
try {
|
||||
@@ -276,4 +275,4 @@ export class Fun extends plugin {
|
||||
await this.reply('❎ 获取头像错误', true)
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -439,7 +439,7 @@ export class GroupAdmin extends plugin {
|
||||
|
||||
// 查看和清理从未发言的人
|
||||
async neverspeak (e) {
|
||||
if (!common.checkPermission(e, 'admin', 'admin')) { return true }
|
||||
if (!common.checkPermission(e, 'admin', 'admin')) { return true }
|
||||
let list = null
|
||||
try {
|
||||
list = await new Ga(e).getNeverSpeak(e.group_id)
|
||||
|
||||
@@ -253,4 +253,4 @@ async function verify (user_id, group_id, e) {
|
||||
remindTimer
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ export class PrivateGroupAdmin extends plugin {
|
||||
}
|
||||
|
||||
async muteMember (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let regRet = e.msg.match(muteMemberReg)
|
||||
const time = common.translateChinaNum(regRet[3])
|
||||
let res = await new Ga(e).muteMember(regRet[1], regRet[2], e.user_id, time, regRet[4])
|
||||
@@ -40,14 +40,14 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
async noMuteMember (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let regRet = e.msg.match(/^#解禁\s?(\d+)\s(\d+)$/)
|
||||
let res = await new Ga(e).muteMember(regRet[1], regRet[2], e.user_id, 0)
|
||||
e.reply(res)
|
||||
}
|
||||
|
||||
async muteAll (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let regRet = e.msg.match(/全体(禁言|解禁)(\d+)/)
|
||||
let group = (e.bot ?? Bot).pickGroup(Number(regRet[2]))
|
||||
group.muteAll(regRet[1] == '禁言')
|
||||
@@ -55,7 +55,7 @@ if (!common.checkPermission(e, 'master')) return
|
||||
}
|
||||
|
||||
async kickMember (e) {
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
if (!common.checkPermission(e, 'master')) return
|
||||
let regRet = e.msg.match(/#踢\s?(\d+)\s(\d+)$/)
|
||||
let res = await Ga.kickMember(regRet[1], regRet[2], e.user_id)
|
||||
e.reply(res)
|
||||
|
||||
@@ -54,11 +54,11 @@ export class NewHandle extends plugin {
|
||||
if (!e.isMaster) return false
|
||||
let yes = !!/同意/.test(e.msg)
|
||||
|
||||
const systemMsg = (await (e.bot ?? Bot).getSystemMsg());
|
||||
const FriendAdd = systemMsg.filter(
|
||||
const systemMsg = (await (e.bot ?? Bot).getSystemMsg())
|
||||
let FriendAdd = systemMsg.filter(
|
||||
item => item.request_type == 'friend' &&
|
||||
(item.sub_type === 'add' || item.sub_type === 'single')
|
||||
);
|
||||
)
|
||||
|
||||
if (_.isEmpty(FriendAdd)) return e.reply('暂无好友申请(。-ω-)zzz', true)
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ export class NewSearch extends plugin {
|
||||
}
|
||||
|
||||
async bggRank (e) {
|
||||
let url = `https://boardgamegeek.com/browse/boardgame`;
|
||||
e.reply([await puppeteer.Webpage({ url }), "目前BGG桌游排行榜如图,访问链接:"+url])
|
||||
let url = 'https://boardgamegeek.com/browse/boardgame'
|
||||
e.reply([await puppeteer.Webpage({ url }), '目前BGG桌游排行榜如图,访问链接:' + url])
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ export class Update extends plugin {
|
||||
* @returns
|
||||
*/
|
||||
async update (e) {
|
||||
if (!common.checkPermission(e, 'master')) return true
|
||||
if (!common.checkPermission(e, 'master')) return true
|
||||
|
||||
/** 检查是否正在更新中 */
|
||||
if (uping) {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
import YAML from 'yaml'
|
||||
import chokidar from 'chokidar'
|
||||
import fs from 'node:fs'
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
/** 涩涩帮助 */
|
||||
export const helpCfg = {
|
||||
title: '椰奶涩涩帮助',
|
||||
|
||||
18
package.json
18
package.json
@@ -6,7 +6,9 @@
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"contributors:add": "all-contributors add",
|
||||
"contributors:generate": "all-contributors generate"
|
||||
"contributors:generate": "all-contributors generate",
|
||||
"lint": "lint-staged --allow-empty",
|
||||
"prepare": "husky"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -24,6 +26,18 @@
|
||||
"systeminformation": "^5.17.12"
|
||||
},
|
||||
"devDependencies": {
|
||||
"all-contributors-cli": "^6.24.0"
|
||||
"all-contributors-cli": "^6.24.0",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-standard": "^17.1.0",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-n": "^16.6.2",
|
||||
"eslint-plugin-promise": "^6.1.1",
|
||||
"husky": "^9.0.11",
|
||||
"lint-staged": "^15.2.2"
|
||||
},
|
||||
"lint-staged": {
|
||||
"*.{js,jsx,ts,tsx}": [
|
||||
"eslint ./ --fix"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user