koishi-plugin-bomb-game
Advanced tools
Comparing version 2.0.1 to 2.0.3
@@ -1,35 +0,59 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Config=exports.name=void 0,exports.apply=apply;const koishi_1=require("koishi"),url_1=require("url"),path_1=require("path"),logger=(exports.name="bomb-game",exports.Config=koishi_1.Schema.object({"主人QQ":koishi_1.Schema.string().default("1594817572").description("填写你的QQ,用于增加炸弹等")}),new koishi_1.Logger("炸弹人"));function apply(d,i){d.model.extend("Bombs",{id:"unsigned",userId:"string",today:"string",Bombs:"unsigned",Bombs_trigger:"string",Clearance_trigger:"string",Bomb_kill:"unsigned"},{autoInc:!0});let t,n,r;d.on("message",async e=>{var{content:a,userId:s}=e,o=await d.database.get("Bombs",{userId:s});return a.includes(o?.[0]?.Bombs_trigger)?e.execute("埋雷"):a.includes(o?.[0]?.Clearance_trigger)?e.execute("排雷"):void(a.includes(o?.[0]?.Clearance_trigger)||"排雷"===a||1==t&&n===e.guildId&&(logger.info(r+"使用炸弹击杀了"+s),a=60*(Math.floor(3*Math.random())+1),t=0,await d.database.set("Bombs",{userId:r},{Bomb_kill:o?.[0]?.Bomb_kill+1}),r="0",e.send(koishi_1.h.image((0,url_1.pathToFileURL)((0,path_1.resolve)(__dirname,"你怎么不说话.jpg")).href)),e?.onebot.setGroupBan(e.channelId,e.userId,a)))}),d.command("炸弹菜单").action(async({})=>koishi_1.h.image((0,url_1.pathToFileURL)((0,path_1.resolve)(__dirname,"炸弹专家MAX.jpg")).href)),d.command("炸弹菜单").subcommand("排雷").action(async({session:e})=>{if(e=e.userId,1===t)return t=0,logger.info(e+"拆除炸弹成功"),"══排雷触发══ 状态:成功\n操作者:【"+koishi_1.h.at(e)+"】 排雷成功\n如果失败,不会提示"}),d.command("炸弹菜单").subcommand("排雷触发 <Mine_clearance>").action(async({session:e},a)=>{var s=e.userId,o=await d.database.get("Bombs",{userId:s});return void 0===a?`══排雷触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 原因:格式错误 | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Config=exports.name=void 0,exports.apply=apply;const koishi_1=require("koishi"),url_1=require("url"),path_1=require("path"),logger=(exports.name="bomb-game",exports.Config=koishi_1.Schema.object({"主人QQ":koishi_1.Schema.string().default("1594817572").description("填写你的QQ,用于增加炸弹等")}),new koishi_1.Logger("炸弹人"));function apply(d,i){d.model.extend("Bombs",{id:"unsigned",userId:"string",today:"string",Bombs:"unsigned",Bombs_trigger:"string",Clearance_trigger:"string",Bomb_kill:"unsigned"},{autoInc:!0});let o,r,n;d.on("message",async e=>{var{content:a,userId:s}=e,t=await d.database.get("Bombs",{userId:s});return a.includes(t?.[0]?.Bombs_trigger)?e.execute("埋雷"):a.includes(t?.[0]?.Clearance_trigger)?e.execute("排雷"):void(a.includes(t?.[0]?.Clearance_trigger)||"排雷"===a||1==o&&r===e.guildId&&(logger.info(n+"使用炸弹击杀了"+s),a=60*(Math.floor(3*Math.random())+1),o=0,await d.database.set("Bombs",{userId:n},{Bomb_kill:t?.[0]?.Bomb_kill+1}),n="0",e.send(koishi_1.h.image((0,url_1.pathToFileURL)((0,path_1.resolve)(__dirname,"你怎么不说话.jpg")).href)),e?.onebot.setGroupBan(e.channelId,e.userId,a)))}),d.command("炸弹菜单").action(async({})=>koishi_1.h.image((0,url_1.pathToFileURL)((0,path_1.resolve)(__dirname,"炸弹专家MAX.jpg")).href)),d.command("炸弹菜单").subcommand("排雷").action(async({session:e})=>{e=e.userId;if(1===o)return o=0,logger.info(e+"拆除炸弹成功"),"══排雷触发══\n状态:成功\n操作者:【"+koishi_1.h.at(e)+"】\n 排雷成功\n如果失败,不会提示"}),d.command("炸弹菜单").subcommand("领取炸弹").action(async({session:e})=>{var e=e["userId"],a=(new Date,await d.database.get("Bombs",{})),s=await d.database.get("Bombs",{userId:e}),t=new Date,t=t.getFullYear()+`-${t.getMonth()+1}-`+t.getDate(),o=await d.http.get("https://v1.hitokoto.cn/?c=a"),o=o.hitokoto+"——"+o.from;const i=`══领取炸弹══ | ||
状态:成功 | ||
操作者:【${koishi_1.h.at(e)}】 | ||
领取成功 | ||
获得炸弹5枚 | ||
一言:`+o,r=`══领取炸弹══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(e)}】 | ||
领取失败 | ||
一言:${o} `;return 0===s.length?(await d.database.create("Bombs",{id:a.length,userId:e,today:t,Bombs:5,Bombs_trigger:"暂无触发词",Clearance_trigger:"暂无触发词",Bomb_kill:0}),i):s[0].today===t?r:(await d.database.set("Bombs",{userId:e},{today:t,Bombs:s[0].Bombs+5}),i)}),d.command("炸弹菜单").subcommand("排雷触发 <Mine_clearance>").action(async({session:e},a)=>{var s=e["userId"],t=await d.database.get("Bombs",{userId:s});return void 0===a?`══排雷触发══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
原因:格式错误 | ||
正确格式:排雷触发 触发词 | ||
Tips:这是排除炸弹的触发词`:"排雷"===a?`══排雷触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 原因:不能和原触发词一样`:3<a.length?void(o?.[0]?.Bombs_trigger?(await d.database.set("Bombs",{userId:s},{Clearance_trigger:a}),e.bot.sendMessage(e.channelId,`══排雷触发══ 状态:成功 | ||
操作者:【${koishi_1.h.at(s)}】 设置成功 | ||
Tips:这是排除炸弹的触发词`:"排雷"===a?`══排雷触发══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
原因:不能和原触发词一样`:3<=a.length?void(t?.[0]?.Bombs_trigger?(await d.database.set("Bombs",{userId:s},{Clearance_trigger:a}),e.bot.sendMessage(e.channelId,`══排雷触发══ | ||
状态:成功 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
设置成功 | ||
新的触发词是 + ${a} | ||
Tips:不要设置过于简单的触发词 | ||
如6,这种单个字 | ||
暂不支持图片做触发词,后续开发看看`,e.guildId)):e.bot.sendMessage(e.channelId,`══排雷触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 添加失败 | ||
暂不支持图片做触发词,后续开发看看`,e.guildId)):e.bot.sendMessage(e.channelId,`══排雷触发══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
添加失败 | ||
原因:你还没有炸弹 | ||
Tips:发送【领取炸弹】领取炸弹吧`+a,e.guildId))[0]:`══排雷触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 设置失败 | ||
原因:小于3个字`}),d.command("炸弹菜单").subcommand("领取炸弹").action(async({session:e})=>{var e=e.userId,a=(new Date,await d.database.get("Bombs",{})),s=await d.database.get("Bombs",{userId:e}),o=(o=new Date).getFullYear()+`-${o.getMonth()+1}-`+o.getDate();console.log("当前时间:"+o);var t=(t=await d.http.get("https://v1.hitokoto.cn/?c=a")).hitokoto+"——"+t.from,t={signInSuccess:`══领取炸弹══ 状态:成功 | ||
操作者:【${koishi_1.h.at(e)}】 领取成功 | ||
获得炸弹5枚 | ||
一言:`+t,alreadySignedIn:`══领取炸弹══ 状态:失败 | ||
操作者:【${koishi_1.h.at(e)}】 领取失败 | ||
一言:${t} `};return 0===s.length?(await d.database.create("Bombs",{id:a.length,userId:e,today:o,Bombs:5,Bombs_trigger:"暂无触发词",Clearance_trigger:"暂无触发词",Bomb_kill:0}),t.signInSuccess):s[0].today===o?t.alreadySignedIn:(console.log(t.signInSuccess),await d.database.set("Bombs",{userId:e},{today:o,Bombs:s[0].Bombs+5}),t.signInSuccess)}),d.command("炸弹菜单").subcommand("炸弹触发 <bobo>").action(async({session:e},a)=>{var s=e.userId,o=await d.database.get("Bombs",{userId:s});return void 0===a?`══炸弹触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 原因:格式错误 | ||
Tips:发送【领取炸弹】领取炸弹吧`+a,e.guildId))[0]:`══排雷触发══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
设置失败 | ||
原因:小于3个字`}),d.command("炸弹菜单").subcommand("炸弹触发 <bobo>").action(async({session:e},a)=>{var s=e["userId"],t=await d.database.get("Bombs",{userId:s});return void 0===a?`══炸弹触发══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
原因:格式错误 | ||
正确格式:炸弹触发 触发词 | ||
Tips:这是设置埋雷的触发词`:"埋雷"===a?`══炸弹触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 原因:不能和原触发词一样`:3<a.length?void(o?.[0]?.Bombs_trigger?(await d.database.set("Bombs",{userId:s},{Bombs_trigger:a}),e.bot.sendMessage(e.channelId,`══炸弹触发══ 状态:成功 | ||
操作者:【${koishi_1.h.at(s)}】 设置成功 | ||
新的触发词是 + ${a} | ||
Tips:这是设置埋雷的触发词`:"埋雷"===a?`══炸弹触发══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
原因:不能和原触发词一样`:3<=a.length?t?.[0]?.Bombs_trigger?((t=a.match(/<img.*?src="(.*?)".*?file="(.*?)".*?url="(.*?)".*?file-size="(.*?)".*?>/))?(t=t[2],await d.database.set("Bombs",{userId:s},{Bombs_trigger:t})):await d.database.set("Bombs",{userId:s},{Bombs_trigger:a}),void e.bot.sendMessage(e.channelId,`══炸弹触发══ | ||
状态:成功 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
设置成功 | ||
新的触发词是${a} | ||
Tips:不要设置过于简单的触发词 | ||
如6,这种单个字 | ||
暂不支持图片做触发词,后续开发看看`,e.guildId)):e.bot.sendMessage(e.channelId,`══炸弹触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 添加失败 | ||
暂不支持图片做触发词,后续开发看看`,e.guildId)[0]):`══炸弹触发══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
;添加失败 | ||
原因:你还没有炸弹 | ||
Tips:发送【领取炸弹】领取炸弹吧`+a,e.guildId))[0]:`══炸弹触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 设置失败 | ||
原因:小于3个字`}),d.command("炸弹菜单").subcommand("埋雷").action(async({session:e})=>{var a=e.userId,s=await d.database.get("Bombs",{userId:a});return"member"==(await e.onebot.getGroupMemberInfo(e.channelId,e.bot.userId)).role?"我在此群没有权限,让你埋雷哦":s?.[0]?.Bombs<=0||!s?.[0]?.Bombs?"你没有炸弹了":(t=1,n=e.guildId,r=e.userId,logger.info(a+"设置炸弹成功"),void await d.database.set("Bombs",{userId:a},{Bombs:s[0].Bombs-1}))}),d.command("炸弹菜单").subcommand("我的信息").action(async({session:e})=>{var e=e.userId,a=await d.database.get("Bombs",{userId:e});return e===i.主人QQ?`══我的信息══ | ||
Tips:发送【领取炸弹】领取炸弹吧`+a:`══炸弹触发══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(s)}】 | ||
设置失败 | ||
原因:小于3个字`}),d.command("炸弹菜单").subcommand("埋雷").action(async({session:e})=>{var a=e["userId"],s=await d.database.get("Bombs",{userId:a});return"member"==(await e.onebot.getGroupMemberInfo(e.channelId,e.bot.userId)).role?"我在此群没有权限,让你埋雷哦":s?.[0]?.Bombs<=0||!s?.[0]?.Bombs?"你没有炸弹了":(o=1,r=e.guildId,n=e.userId,logger.info(a+"设置炸弹成功"),void await d.database.set("Bombs",{userId:a},{Bombs:s[0].Bombs-1}))}),d.command("炸弹菜单").subcommand("我的信息").action(async({session:e})=>{var e=e["userId"],a=await d.database.get("Bombs",{userId:e});return e===i.主人QQ?`══我的信息══ | ||
操作者:${i.主人QQ} | ||
@@ -44,13 +68,13 @@ 身份:主人 | ||
炸弹数量;${a?.[0]?.Bombs} | ||
击杀数量:`+a?.[0]?.Bomb_kill}),d.command("炸弹菜单").subcommand("增加炸弹 <ID> <num:number>").shortcut(/^增加炸弹(.*) ?([0-9]*)$/,{args:["$1","$2"]}).action(async({session:e},a,s)=>{var o=e.userId,t=(e=koishi_1.h.select(e.elements,"at"))?.[0]?.attrs.id;return Math.floor(+Math.random()),o===i.主人QQ?0===e.length?` | ||
击杀数量:`+a?.[0]?.Bomb_kill}),d.command("炸弹菜单").subcommand("增加炸弹 <ID> <num:number>").shortcut(/^增加炸弹(.*) ?([0-9]*)$/,{args:["$1","$2"]}).action(async({session:e},a,s)=>{var t=e["userId"],e=koishi_1.h.select(e.elements,"at"),o=e?.[0]?.attrs.id;Math.floor(+Math.random());return t===i.主人QQ?0===e.length?` | ||
══增加失败══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(o)}】 | ||
你没有艾特要增加的人`:(e=await d.database.get("Bombs",{userId:t}),await d.database.set("Bombs",{userId:t},{Bombs:e?.[0]?.Bombs+s}),` | ||
操作者:【${koishi_1.h.at(t)}】 | ||
你没有艾特要增加的人`:(e=await d.database.get("Bombs",{userId:o}),await d.database.set("Bombs",{userId:o},{Bombs:e?.[0]?.Bombs+s}),` | ||
══增加成功══ | ||
状态:成功 | ||
操作者:【${koishi_1.h.at(o)}】 | ||
操作者:【${koishi_1.h.at(t)}】 | ||
成功添加${s}枚炸弹`):`══增加失败══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(o)}】 | ||
你没有权限`}),d.command("炸弹菜单").subcommand("雷人榜").action(async({session:e})=>{var{}=e,a=await d.database.get("Bombs",{}),s=[],o=(await e.onebot.getGroupMemberInfo(e.channelId,e.bot.userId)).role;for(let e=0;e<a.length;e++){var t=a?.[e]?.userId,i=a?.[e]?.Bomb_kill;s.push({id:t,kill:i})}s.sort((e,a)=>a.kill-e.kill);let n="";var r=s.slice(0,5);for(let e=0;e<r.length;e++)n+="第"+(e+1)+"名: "+r?.[e]?.id+"\n击杀数量:"+r?.[e]?.kill+"\n";return"owner"==o&&(e?.onebot?.setGroupSpecialTitle(e.channelId,r?.[0]?.id,"炸弹超人"),e?.onebot?.setGroupSpecialTitle(e.channelId,r?.[1]?.id,"炸弹狂")),"══雷人榜══\n"+n})} | ||
操作者:【${koishi_1.h.at(t)}】 | ||
你没有权限`}),d.command("炸弹菜单").subcommand("雷人榜").action(async({session:e})=>{var{}=e,a=await d.database.get("Bombs",{}),s=[],t=(await e.onebot.getGroupMemberInfo(e.channelId,e.bot.userId)).role;for(let e=0;e<a.length;e++){var o=a?.[e]?.userId,i=a?.[e]?.Bomb_kill;s.push({id:o,kill:i})}s.sort((e,a)=>a.kill-e.kill);let r="";var n=s.slice(0,5);for(let e=0;e<n.length;e++)r+="第"+(e+1)+"名: "+n?.[e]?.id+"\n击杀数量:"+n?.[e]?.kill+"\n";return"owner"==t&&(e?.onebot?.setGroupSpecialTitle(e.channelId,n?.[0]?.id,"炸弹超人"),e?.onebot?.setGroupSpecialTitle(e.channelId,n?.[1]?.id,"炸弹狂")),"══雷人榜══\n"+r})} |
{ | ||
"name": "koishi-plugin-bomb-game", | ||
"description": "禁言炸弹游戏", | ||
"version": "2.0.1", | ||
"version": "2.0.3", | ||
"main": "lib/index.js", | ||
@@ -6,0 +6,0 @@ "typings": "lib/index.d.ts", |
112
835646