koishi-plugin-bomb-game
Advanced tools
Comparing version 1.8.0 to 2.0.0
345
lib/index.js
@@ -1,298 +0,55 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.apply = exports.Config = exports.name = void 0; | ||
const koishi_1 = require("koishi"); | ||
const url_1 = require("url"); | ||
const path_1 = require("path"); | ||
exports.name = 'bomb-game'; | ||
exports.Config = koishi_1.Schema.object({ | ||
主人QQ: koishi_1.Schema.string().default('1594817572').description('填写你的QQ,用于增加炸弹等') | ||
}); | ||
const logger = new koishi_1.Logger('炸弹人'); | ||
function apply(ctx, config) { | ||
ctx.model.extend('Bombs', { | ||
id: 'unsigned', | ||
userId: 'string', | ||
today: 'string', | ||
Bombs: 'unsigned', | ||
Bombs_trigger: 'string', | ||
Clearance_trigger: 'string', | ||
Bomb_kill: 'unsigned' | ||
}); | ||
let Yes_or_no_bomb; | ||
let Bomb_group; | ||
let Bomber_id; | ||
ctx.on('message', async (session) => { | ||
const { content, userId } = session; | ||
const read = await ctx.database.get('Bombs', { userId }); | ||
if (content.includes(read?.[0]?.Bombs_trigger)) { | ||
return session.execute('埋雷'); | ||
} | ||
if (content.includes(read?.[0]?.Clearance_trigger)) { | ||
return session.execute('排雷'); | ||
} | ||
if (content.includes(read?.[0]?.Clearance_trigger) || content === '排雷') { | ||
} | ||
else { | ||
if (Yes_or_no_bomb == 1 && Bomb_group === session.guildId) { | ||
logger.info(Bomber_id + '使用炸弹击杀了' + userId); | ||
const time = Math.floor(Math.random() * 3) + 1; | ||
const timemax = time * 60; | ||
Yes_or_no_bomb = 0; | ||
await ctx.database.set('Bombs', { userId: Bomber_id }, { Bomb_kill: read?.[0]?.Bomb_kill + 1 }); | ||
Bomber_id = '0'; | ||
session.bot.sendMessage(session.channelId, koishi_1.h.image((0, url_1.pathToFileURL)((0, path_1.resolve)(__dirname, './你怎么不说话.jpg')).href), session.guildId); | ||
session?.onebot.setGroupBan(session.channelId, session.userId, timemax); | ||
} | ||
} | ||
}); | ||
ctx.command('炸弹菜单') | ||
.action(async ({ session }) => { | ||
session.bot.sendMessage(session.channelId, koishi_1.h.image((0, url_1.pathToFileURL)((0, path_1.resolve)(__dirname, './炸弹专家MAX.jpg')).href), session.guildId); | ||
}); | ||
ctx.command('炸弹菜单') | ||
.subcommand('抢雷 <rob>') | ||
.shortcut(/^抢雷?(.*)$/, { args: ['$1'] }) | ||
.action(async ({ session, next }) => { | ||
const { userId } = session; | ||
const at = koishi_1.h.select(session.elements, 'at'); | ||
const ATID = at?.[0]?.attrs.id; | ||
const a = Math.random() * 1; | ||
const time = Math.floor(Math.random() * 3) + 1 * 60; | ||
const readA = await ctx.database.get('Bombs', { userId }); | ||
const readB = await ctx.database.get('Bombs', { userId: ATID }); | ||
if (at.length === 0) { | ||
return ` | ||
══抢雷失败══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(userId)}】 | ||
你没有艾特被抢雷的人`; | ||
} | ||
else { | ||
if (readB?.[0]?.Bombs <= 0) { | ||
return ` | ||
══抢雷失败══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(userId)}】 | ||
对方没有炸弹!`; | ||
} | ||
else if (a == 0.5) { | ||
session?.onebot.setGroupBan(session.channelId, session.userId, time); | ||
session?.onebot.setGroupBan(session.channelId, ATID, time); | ||
return ` | ||
══抢雷触发══ | ||
状态:失败 | ||
抢劫者:【${koishi_1.h.at(userId)}】 | ||
被抢者:【${koishi_1.h.at(ATID)}】 | ||
由于抢夺期间,过于激烈 | ||
导致炸弹爆炸,双方被炸到并 | ||
各损失1枚炸弹`; | ||
} | ||
else if (a >= 1) { | ||
await ctx.database.set('Bombs', { userId }, { Bombs: readA[0].Bombs + 1 }); | ||
await ctx.database.set('Bombs', { userId: ATID }, { Bombs: readB[0].Bombs - 1 }); | ||
return ` | ||
══抢雷触发══ | ||
状态:成功 | ||
抢劫者:【${koishi_1.h.at(userId)}】 | ||
被抢者:【${koishi_1.h.at(ATID)}】 | ||
抢夺了1枚炸弹 | ||
对方失去一枚炸弹`; | ||
} | ||
} | ||
}); | ||
ctx.command('炸弹菜单').subcommand('排雷') | ||
.action(async ({ session }) => { | ||
const { userId } = session; | ||
if (Yes_or_no_bomb === 1) { | ||
Yes_or_no_bomb = 0; | ||
logger.info(userId + '拆除炸弹成功'); | ||
return '══排雷触发══ 状态:成功\n操作者:【' + koishi_1.h.at(userId) + '】 排雷成功\n如果失败,不会提示'; | ||
} | ||
else { | ||
} | ||
}); | ||
ctx.command('炸弹菜单').subcommand('排雷触发 <Mine_clearance>') | ||
.action(async ({ session }, Mine_clearance) => { | ||
const { userId } = session; | ||
const read = await ctx.database.get('Bombs', { userId }); | ||
if (Mine_clearance === undefined) { | ||
return `══排雷触发══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 原因:格式错误\n正确格式:排雷触发 触发词\nTips:这是排除炸弹的触发词`; | ||
} | ||
else if (Mine_clearance === '排雷') { | ||
return `══排雷触发══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 原因:不能和原触发词一样`; | ||
} | ||
if (Mine_clearance.length > 3) { | ||
if (!read?.[0]?.Bombs_trigger) { | ||
session.bot.sendMessage(session.channelId, `══排雷触发══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 添加失败\n 原因:你还没有炸弹\nTips:发送【领取炸弹】领取炸弹吧` + Mine_clearance, session.guildId)[0]; | ||
} | ||
else { | ||
await ctx.database.set('Bombs', { userId }, { Clearance_trigger: Mine_clearance }); | ||
session.bot.sendMessage(session.channelId, `══排雷触发══ 状态:成功\n操作者:【${koishi_1.h.at(userId)}】 设置成功\n 新的触发词是 + ${Mine_clearance}\nTips:不要设置过于简单的触发词\n如6,这种单个字\n暂不支持图片做触发词,后续开发看看`, session.guildId)[0]; | ||
} | ||
} | ||
else { | ||
return `══排雷触发══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 设置失败\n 原因:小于3个字`; | ||
} | ||
}); | ||
ctx.command('炸弹菜单').subcommand('领取炸弹') | ||
.action(async ({ session }) => { | ||
const { userId } = session; | ||
const today = new Date(); | ||
const read = await ctx.database.get('Bombs', {}); | ||
const checkInRecord = await ctx.database.get('Bombs', { userId }); //获取用户签到时间 | ||
const currentDate = new Date(); | ||
// 获取当前年份 | ||
const year = currentDate.getFullYear(); | ||
// 获取当前月份(注意,返回的月份是从 0 开始计数的,所以需要加上 1) | ||
const month = currentDate.getMonth() + 1; | ||
// 获取当前日期 | ||
const date = currentDate.getDate(); | ||
// 将时间部分合并为一个字符串 | ||
const formattedTime = `${year}-${month}-${date}`; | ||
console.log("当前时间:" + formattedTime); | ||
const one_phrase = await ctx.http.get('https://v1.hitokoto.cn/?c=a'); | ||
const hitokoto = one_phrase.hitokoto + '——' + one_phrase.from; | ||
const Bombs = 5; | ||
const msg = { | ||
signInSuccess: `══领取炸弹══ 状态:成功\n操作者:【${koishi_1.h.at(userId)}】 领取成功\n获得炸弹5枚\n一言:${hitokoto}`, | ||
alreadySignedIn: `══领取炸弹══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 领取失败\n一言:${hitokoto} `, | ||
}; | ||
//判断是否第一次 | ||
if (checkInRecord.length === 0) { | ||
await ctx.database.create('Bombs', { id: read.length + 1, userId, today: formattedTime, Bombs, Bombs_trigger: '暂无触发词', Clearance_trigger: '暂无触发词', Bomb_kill: 0 }); | ||
return msg.signInSuccess; | ||
} | ||
//判断用户是否领取 | ||
if (checkInRecord[0].today === formattedTime) { | ||
return msg.alreadySignedIn; | ||
} | ||
else { | ||
console.log(msg.signInSuccess); | ||
await ctx.database.set('Bombs', { userId }, { today: formattedTime, Bombs: checkInRecord[0].Bombs + Bombs }); | ||
return msg.signInSuccess; | ||
} | ||
}); | ||
ctx.command('炸弹菜单').subcommand('炸弹触发 <bobo>') | ||
.action(async ({ session }, bobo) => { | ||
const { userId, username } = session; | ||
const read = await ctx.database.get('Bombs', { userId }); | ||
if (bobo === undefined) { | ||
return `══炸弹触发══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 原因:格式错误\n正确格式:炸弹触发 触发词\nTips:这是设置埋雷的触发词`; | ||
} | ||
else if (bobo === '埋雷') { | ||
return `══炸弹触发══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 原因:不能和原触发词一样`; | ||
} | ||
if (bobo.length > 3) { | ||
if (!read?.[0]?.Bombs_trigger) { | ||
session.bot.sendMessage(session.channelId, `══炸弹触发══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 添加失败\n 原因:你还没有炸弹\nTips:发送【领取炸弹】领取炸弹吧` + bobo, session.guildId)[0]; | ||
} | ||
else { | ||
await ctx.database.set('Bombs', { userId }, { Bombs_trigger: bobo }); | ||
session.bot.sendMessage(session.channelId, `══炸弹触发══ 状态:成功\n操作者:【${koishi_1.h.at(userId)}】 设置成功\n 新的触发词是 + ${bobo}\nTips:不要设置过于简单的触发词\n如6,这种单个字\n暂不支持图片做触发词,后续开发看看`, session.guildId)[0]; | ||
} | ||
} | ||
else { | ||
return `══炸弹触发══ 状态:失败\n操作者:【${koishi_1.h.at(userId)}】 设置失败\n 原因:小于3个字`; | ||
} | ||
}); | ||
ctx.command('炸弹菜单').subcommand('埋雷') | ||
.action(async ({ session }) => { | ||
const { userId, username } = session; | ||
const read = await ctx.database.get('Bombs', { userId }); | ||
const manage = (await session.onebot.getGroupMemberInfo(session.channelId, session.bot.userId)); | ||
const manages = manage.role; | ||
//console.log(manages); | ||
if (manages == 'member') { | ||
return '我在此群没有权限,让你埋雷哦'; | ||
} | ||
if (read?.[0]?.Bombs <= 0 || !read?.[0]?.Bombs) { | ||
return '你没有炸弹了'; | ||
} | ||
else { | ||
Yes_or_no_bomb = 1; | ||
Bomb_group = session.guildId; | ||
Bomber_id = session.userId; | ||
logger.info(userId + '设置炸弹成功'); | ||
await ctx.database.set('Bombs', { userId }, { Bombs: read[0].Bombs - 1 }); | ||
} | ||
}); | ||
ctx.command('炸弹菜单') | ||
.subcommand('我的信息') | ||
.action(async ({ session }) => { | ||
const { userId, username } = session; | ||
const read = await ctx.database.get('Bombs', { userId }); | ||
if (userId === config.主人QQ) { | ||
return `══我的信息══\n操作者:${config.主人QQ}\n身份:主人\n炸弹数量;${read?.[0]?.Bombs}\n击杀数量:${read?.[0]?.Bomb_kill}\n可用指令:\n增加炸弹 [艾特某人] [数量]`; | ||
} | ||
else { | ||
return `══我的信息══\n操作者:${userId}\n身份:成员\n炸弹数量;${read?.[0]?.Bombs}\n击杀数量:${read?.[0]?.Bomb_kill}`; | ||
} | ||
}); | ||
ctx.command('炸弹菜单') | ||
.subcommand('增加炸弹 <ID> <num:number>') | ||
.shortcut(/^增加炸弹(.*) ?([0-9]*)$/, { args: ['$1', '$2'] }) | ||
.action(async ({ session, next }, ID, num) => { | ||
const { userId } = session; | ||
const at = koishi_1.h.select(session.elements, 'at'); | ||
const ATID = at?.[0]?.attrs.id; | ||
const a = Math.floor(Math.random() * 1); | ||
if (userId === config.主人QQ) { | ||
if (at.length === 0) { | ||
return ` | ||
"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:s,userId:a}=e,o=await d.database.get("Bombs",{userId:a});return s.includes(o?.[0]?.Bombs_trigger)?e.execute("埋雷"):s.includes(o?.[0]?.Clearance_trigger)?e.execute("排雷"):void(s.includes(o?.[0]?.Clearance_trigger)||"排雷"===s||1==t&&n===e.guildId&&(logger.info(r+"使用炸弹击杀了"+a),s=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,s)))}),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===t)return t=0,logger.info(e+"拆除炸弹成功"),"══排雷触发══ 状态:成功\n操作者:【"+koishi_1.h.at(e)+"】 排雷成功\n如果失败,不会提示"}),d.command("炸弹菜单").subcommand("排雷触发 <Mine_clearance>").action(async({session:e},s)=>{var a=e["userId"],o=await d.database.get("Bombs",{userId:a});return void 0===s?`══排雷触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(a)}】 原因:格式错误 | ||
正确格式:排雷触发 触发词 | ||
Tips:这是排除炸弹的触发词`:"排雷"===s?`══排雷触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(a)}】 原因:不能和原触发词一样`:3<s.length?void(o?.[0]?.Bombs_trigger?(await d.database.set("Bombs",{userId:a},{Clearance_trigger:s}),e.bot.sendMessage(e.channelId,`══排雷触发══ 状态:成功 | ||
操作者:【${koishi_1.h.at(a)}】 设置成功 | ||
新的触发词是 + ${s} | ||
Tips:不要设置过于简单的触发词 | ||
如6,这种单个字 | ||
暂不支持图片做触发词,后续开发看看`,e.guildId)):e.bot.sendMessage(e.channelId,`══排雷触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(a)}】 添加失败 | ||
原因:你还没有炸弹 | ||
Tips:发送【领取炸弹】领取炸弹吧`+s,e.guildId))[0]:`══排雷触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(a)}】 设置失败 | ||
原因:小于3个字`}),d.command("炸弹菜单").subcommand("领取炸弹").action(async({session:e})=>{var e=e["userId"],s=(new Date,await d.database.get("Bombs",{})),a=await d.database.get("Bombs",{userId:e}),o=new Date,o=o.getFullYear()+`-${o.getMonth()+1}-`+o.getDate(),t=(console.log("当前时间:"+o),await d.http.get("https://v1.hitokoto.cn/?c=a")),t=t.hitokoto+"——"+t.from,t={signInSuccess:`══领取炸弹══ 状态:成功 | ||
操作者:【${koishi_1.h.at(e)}】 领取成功 | ||
获得炸弹5枚 | ||
一言:`+t,alreadySignedIn:`══领取炸弹══ 状态:失败 | ||
操作者:【${koishi_1.h.at(e)}】 领取失败 | ||
一言:${t} `};return 0===a.length?(await d.database.create("Bombs",{id:s.length,userId:e,today:o,Bombs:5,Bombs_trigger:"暂无触发词",Clearance_trigger:"暂无触发词",Bomb_kill:0}),t.signInSuccess):a[0].today===o?t.alreadySignedIn:(console.log(t.signInSuccess),await d.database.set("Bombs",{userId:e},{today:o,Bombs:a[0].Bombs+5}),t.signInSuccess)}),d.command("炸弹菜单").subcommand("炸弹触发 <bobo>").action(async({session:e},s)=>{var a=e["userId"],o=await d.database.get("Bombs",{userId:a});return void 0===s?`══炸弹触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(a)}】 原因:格式错误 | ||
正确格式:炸弹触发 触发词 | ||
Tips:这是设置埋雷的触发词`:"埋雷"===s?`══炸弹触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(a)}】 原因:不能和原触发词一样`:3<s.length?void(o?.[0]?.Bombs_trigger?(await d.database.set("Bombs",{userId:a},{Bombs_trigger:s}),e.bot.sendMessage(e.channelId,`══炸弹触发══ 状态:成功 | ||
操作者:【${koishi_1.h.at(a)}】 设置成功 | ||
新的触发词是 + ${s} | ||
Tips:不要设置过于简单的触发词 | ||
如6,这种单个字 | ||
暂不支持图片做触发词,后续开发看看`,e.guildId)):e.bot.sendMessage(e.channelId,`══炸弹触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(a)}】 添加失败 | ||
原因:你还没有炸弹 | ||
Tips:发送【领取炸弹】领取炸弹吧`+s,e.guildId))[0]:`══炸弹触发══ 状态:失败 | ||
操作者:【${koishi_1.h.at(a)}】 设置失败 | ||
原因:小于3个字`}),d.command("炸弹菜单").subcommand("埋雷").action(async({session:e})=>{var s=e["userId"],a=await d.database.get("Bombs",{userId:s});return"member"==(await e.onebot.getGroupMemberInfo(e.channelId,e.bot.userId)).role?"我在此群没有权限,让你埋雷哦":a?.[0]?.Bombs<=0||!a?.[0]?.Bombs?"你没有炸弹了":(t=1,n=e.guildId,r=e.userId,logger.info(s+"设置炸弹成功"),void await d.database.set("Bombs",{userId:s},{Bombs:a[0].Bombs-1}))}),d.command("炸弹菜单").subcommand("我的信息").action(async({session:e})=>{var e=e["userId"],s=await d.database.get("Bombs",{userId:e});return e===i.主人QQ?`══我的信息══ | ||
操作者:${i.主人QQ} | ||
身份:主人 | ||
炸弹数量;${s?.[0]?.Bombs} | ||
击杀数量:${s?.[0]?.Bomb_kill} | ||
可用指令: | ||
增加炸弹 [艾特某人] [数量]`:`══我的信息══ | ||
操作者:${e} | ||
身份:成员 | ||
炸弹数量;${s?.[0]?.Bombs} | ||
击杀数量:`+s?.[0]?.Bomb_kill}),d.command("炸弹菜单").subcommand("增加炸弹 <ID> <num:number>").shortcut(/^增加炸弹(.*) ?([0-9]*)$/,{args:["$1","$2"]}).action(async({session:e},s,a)=>{var o=e["userId"],e=koishi_1.h.select(e.elements,"at"),t=e?.[0]?.attrs.id;Math.floor(+Math.random());return o===i.主人QQ?0===e.length?` | ||
══增加失败══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(userId)}】 | ||
你没有艾特要增加的人`; | ||
} | ||
else { | ||
const readB = await ctx.database.get('Bombs', { userId: ATID }); | ||
await ctx.database.set('Bombs', { userId: ATID }, { Bombs: readB?.[0]?.Bombs + num }); | ||
return ` | ||
操作者:【${koishi_1.h.at(o)}】 | ||
你没有艾特要增加的人`:(e=await d.database.get("Bombs",{userId:t}),await d.database.set("Bombs",{userId:t},{Bombs:e?.[0]?.Bombs+a}),` | ||
══增加成功══ | ||
状态:成功 | ||
操作者:【${koishi_1.h.at(userId)}】 | ||
成功添加${num}枚炸弹`; | ||
} | ||
} | ||
else { | ||
return `══增加失败══\n状态:失败\n操作者:【${koishi_1.h.at(userId)}】\n你没有权限`; | ||
} | ||
}); | ||
ctx.command('炸弹菜单') | ||
.subcommand('雷人榜') | ||
.action(async ({ session }) => { | ||
const { userId } = session; | ||
const read = await ctx.database.get('Bombs', {}); | ||
const data = []; | ||
const manage = (await session.onebot.getGroupMemberInfo(session.channelId, session.bot.userId)); | ||
const manages = manage.role; | ||
//console.log(manages); | ||
// 创建随机数据 | ||
for (let i = 0; i < read.length; i++) { | ||
const id = read?.[i]?.userId; | ||
const kill = read?.[i]?.Bomb_kill; | ||
data.push({ id, kill }); | ||
} | ||
// 使用自定义的比较函数进行降序排序 | ||
data.sort((a, b) => { | ||
return b.kill - a.kill; | ||
}); | ||
// 截取前五个元素 | ||
let tata = ''; | ||
const topFive = data.slice(0, 5); | ||
for (let i = 0; i < topFive.length; i++) { | ||
tata += '第' + (i + 1) + '名: ' + topFive?.[i]?.id + '\n击杀数量:' + topFive?.[i]?.kill + '\n'; | ||
} | ||
if (manages == 'owner') { | ||
session?.onebot?.setGroupSpecialTitle(session.channelId, topFive?.[0]?.id, '炸弹超人'); | ||
session?.onebot?.setGroupSpecialTitle(session.channelId, topFive?.[1]?.id, '炸弹狂'); | ||
return '══雷人榜══\n' + tata; | ||
} | ||
else { | ||
return '══雷人榜══\n' + tata; | ||
} | ||
}); | ||
//结尾 | ||
} | ||
exports.apply = apply; | ||
操作者:【${koishi_1.h.at(o)}】 | ||
成功添加${a}枚炸弹`):`══增加失败══ | ||
状态:失败 | ||
操作者:【${koishi_1.h.at(o)}】 | ||
你没有权限`}),d.command("炸弹菜单").subcommand("雷人榜").action(async({session:e})=>{var{}=e,s=await d.database.get("Bombs",{}),a=[],o=(await e.onebot.getGroupMemberInfo(e.channelId,e.bot.userId)).role;for(let e=0;e<s.length;e++){var t=s?.[e]?.userId,i=s?.[e]?.Bomb_kill;a.push({id:t,kill:i})}a.sort((e,s)=>s.kill-e.kill);let n="";var r=a.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})} |
{ | ||
"name": "koishi-plugin-bomb-game", | ||
"description": "【炸弹专家MAX】", | ||
"version": "1.8.0", | ||
"description": "禁言炸弹游戏", | ||
"version": "2.0.0", | ||
"main": "lib/index.js", | ||
@@ -11,5 +11,3 @@ "typings": "lib/index.d.ts", | ||
], | ||
"homepage": "https://github.com/jiuzhichuan/koishi-plugin-bomb-game", | ||
"license": "MIT", | ||
"scripts": {}, | ||
"keywords": [ | ||
@@ -21,4 +19,4 @@ "chatbot", | ||
"peerDependencies": { | ||
"koishi": "^4.14.3" | ||
"koishi": "4.17.3" | ||
} | ||
} |
@@ -5,2 +5,2 @@ # koishi-plugin-bomb-game | ||
【炸弹专家MAX】 | ||
禁言炸弹游戏 |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
835766
89
2
1