UNPKG

pupbot-plugin-helper

Version:

QQ 机器人框架Pupbot的框架助手插件

188 lines (187 loc) 6.54 kB
const { PupPlugin, segment } = require('@pupbot/core') const { version } = require('./package.json') const plugin = new PupPlugin('helper', version) //改菜单请到第七十多行 plugin.onMounted((bot) => { plugin.onMessage(async event => { const { raw_message } = event if (raw_message.startsWith('#取图名 ')) { const file = event.message[1].file; return event.reply(file,true); } if (raw_message.startsWith('#取md5 ')) { const file = event.message[1].file.substring(0,32).toUpperCase(); //取图片名的前32位并大写(md5) return event.reply(file,true); } if (raw_message.startsWith('#取图链 ')) { let url_1 = ''; if(event.message_type=='private'){ const file = event.message[1].file.substring(0,32).toUpperCase(); url_1 = `http://gchat.qpic.cn/gchatpic_new/0/pupbot-0-${file}/0` }else{ url_1 = event.message[1].url; } //群聊消息与私聊消息图片url不同。 return event.reply(url_1,true); } if (raw_message.startsWith('#取时间戳 ')){ const date = raw_message.slice(6).replace(/-/g,' '); const time = new Date(date).getTime()/1000; return event.reply(time.toString(),true) } if(raw_message.startsWith('#我的头像')){ const qq = event.sender.user_id; const pic = `http://q2.qlogo.cn/headimg_dl?dst_uin=${qq}&spec=640` return event.reply(segment.image(pic)); } if (raw_message.startsWith('#伪造')){ const list = []; if(raw_message.charAt(3)==' '||raw_message.charAt(3)=='1'){ for(let i =1;i*2<event.message.length;i++){ let msg = event.message[2*i]; let qq = event.message[1+2*(i-1)].qq; let nick = await bot.getStrangerInfo(qq); list.push({message:msg,user_id:qq,nickname:nick.nickname}); } } if(raw_message.charAt(3)=='2'){ let arr = raw_message.trim().split(" "); for(let i =1;i*2<arr.length;i++){ let msg = arr[2*i]; let qq = Number(arr[1+2*(i-1)]); let nick = await bot.getStrangerInfo(qq); list.push({message:msg,user_id:qq,nickname:nick.nickname}); } } if(raw_message.charAt(3)=='3'){ let arr = raw_message.trim().split(" "); for(let i =1;i*3<arr.length;i++){ let time_str1 = arr[3*i]; let time_str = time_str1.replace(/-/g,' '); let time = new Date(time_str).getTime()/1000; let msg = arr[2*i]; let qq = Number(arr[1+2*(i-1)]); let nick = await bot.getStrangerInfo(qq); list.push({message:msg,user_id:qq,nickname:nick.nickname,time:time}); } } if(raw_message.charAt(3)=='4'){ let arr = raw_message.trim().split(" "); for(let i =1;i*3<arr.length;i++){ let time = Number(arr[3*i]); let msg = arr[2+3*(i-1)]; let qq = Number(arr[1+3*(i-1)]); let nick = await bot.getStrangerInfo(qq); list.push({message:msg,user_id:qq,nickname:nick.nickname,time:time}); } } const made = await bot.makeForwardMsg(list); return event.reply(made); } if(plugin.admins.includes(event.sender.user_id)&&raw_message.startsWith('#')){ const arr = raw_message.trim().split(' '); if(raw_message=='#助手'){ return event.reply(`框架助手 | Pupbot ---------------- #发好友 <QQ> <内容> #发群聊 <群号> <内容> #发送 <内容> (当前群) #改头像 <图片> #取头像 <QQ> #改昵称 <昵称> #改签名 <签名> #加好友 <QQ> (限同一群) #删好友 <QQ> #拉黑 <QQ> #退群 <群号> ---------------- #取图名 <图片> #取图链 <图片> #取图片 <链接> #取md5 <图片> #取时间戳 <时间> #我的头像 #伪造 <艾特> <内容> #伪造2 <QQ> <内容> #伪造3 <QQ> <内容> <时间> #伪造4 <QQ> <内容> <时间戳> ---------------- /时间格式为 年/月/日-时:分:秒 /伪造除了3均可叠加(空格隔开)`) } if(raw_message.startsWith('#发好友')){ const p1 = Number(arr[1]); const p2 = arr[2]; bot.sendPrivateMsg(p1,p2); return event.reply('发送成功',true); } if(raw_message.startsWith('#发送')){ const p1 = arr[1]; return event.reply(p1); } if(raw_message.startsWith('#发群聊')){ const p1 = Number(arr[1]); const p2 = arr[2]; bot.sendGroupMsg(p1,p2); return event.reply('发送成功',true); } if(raw_message.startsWith('#取头像')){ const qq = raw_message.slice(5); const pic = `http://q2.qlogo.cn/headimg_dl?dst_uin=${qq}&spec=640` return event.reply(segment.image(pic)); } if(raw_message.startsWith('#取图片')){ const url = raw_message.slice(5); return event.reply(segment.image(url)); } if(raw_message.startsWith('#改头像')){ let url = ''; if(event.message_type=='private'){ const file = event.message[1].file.substring(0,32).toUpperCase(); url = `http://gchat.qpic.cn/gchatpic_new/0/pupbot-0-${file}/0` }else{ url = event.message[1].url; } //群聊消息与私聊消息图片url不同。 try{ bot.setAvatar(url); }catch(error){ return event.reply('修改失败',true); } return event.reply('修改成功',true); } if(raw_message.startsWith('#改昵称')){ const p1 = arr[1]; bot.setNickname(p1); return event.reply('修改成功',true) } if(raw_message.startsWith('#改签名')){ const p1 = arr[1]; bot.setSignature(p1); return event.reply('修改成功',true) } if(raw_message.startsWith('#加好友')){ const p1 = Number(arr[1]); bot.addFriend(event.group_id,p1) return event.reply('申请成功',true); } if(raw_message.startsWith('#删好友')){ const p1 = Number(arr[1]); bot.deleteFriend(p1); return event.reply('删除成功',true) } if(raw_message.startsWith('#拉黑')){ const p1 = Number(arr[1]); bot.deleteFriend(p1,true); return event.reply('删除并拉黑成功',true) } if(raw_message.startsWith('#退群')){ const p1 = Number(arr[1]); bot.setGroupLeave(p1); return event.reply('操作成功',true) } } },) }) module.exports = { plugin }