New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

koishi-plugin-bomb-game

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

koishi-plugin-bomb-game - npm Package Compare versions

Comparing version 2.0.1 to 2.0.3

86

lib/index.js

@@ -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+"拆除炸弹成功"),"══排雷触发══&#10;状态:成功\n操作者:【"+koishi_1.h.at(e)+"】&#10; 排雷成功\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?`══排雷触发══&#10;状态:失败
操作者:【${koishi_1.h.at(s)}】&#10; 原因:格式错误
"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?`══排雷触发══&#10;状态:失败
操作者:【${koishi_1.h.at(s)}】&#10; 原因:不能和原触发词一样`:3<a.length?void(o?.[0]?.Bombs_trigger?(await d.database.set("Bombs",{userId:s},{Clearance_trigger:a}),e.bot.sendMessage(e.channelId,`══排雷触发══&#10;状态:成功
操作者:【${koishi_1.h.at(s)}】&#10;设置成功
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,`══排雷触发══&#10;状态:失败
操作者:【${koishi_1.h.at(s)}】&#10;添加失败
暂不支持图片做触发词,后续开发看看`,e.guildId)):e.bot.sendMessage(e.channelId,`══排雷触发══
状态:失败
操作者:【${koishi_1.h.at(s)}】
添加失败
原因:你还没有炸弹
Tips:发送【领取炸弹】领取炸弹吧`+a,e.guildId))[0]:`══排雷触发══&#10;状态:失败
操作者:【${koishi_1.h.at(s)}】&#10;设置失败
原因:小于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:`══领取炸弹══&#10;状态:成功
操作者:【${koishi_1.h.at(e)}】&#10;领取成功
获得炸弹5枚
一言:`+t,alreadySignedIn:`══领取炸弹══&#10;状态:失败
操作者:【${koishi_1.h.at(e)}】&#10;领取失败
一言:${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?`══炸弹触发══&#10;状态:失败
操作者:【${koishi_1.h.at(s)}】&#10; 原因:格式错误
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?`══炸弹触发══&#10;状态:失败
操作者:【${koishi_1.h.at(s)}】&#10; 原因:不能和原触发词一样`:3<a.length?void(o?.[0]?.Bombs_trigger?(await d.database.set("Bombs",{userId:s},{Bombs_trigger:a}),e.bot.sendMessage(e.channelId,`══炸弹触发══&#10;状态:成功
操作者:【${koishi_1.h.at(s)}】&#10;设置成功
新的触发词是 + ${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,`══炸弹触发══&#10;状态:失败
操作者:【${koishi_1.h.at(s)}】&#10;添加失败
暂不支持图片做触发词,后续开发看看`,e.guildId)[0]):`══炸弹触发══
状态:失败
操作者:【${koishi_1.h.at(s)}】
;添加失败
原因:你还没有炸弹
Tips:发送【领取炸弹】领取炸弹吧`+a,e.guildId))[0]:`══炸弹触发══&#10;状态:失败
操作者:【${koishi_1.h.at(s)}】&#10;设置失败
原因:小于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",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc