pupbot-plugin-helper
Version:
QQ 机器人框架Pupbot的框架助手插件
188 lines (187 loc) • 6.54 kB
JavaScript
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 }