koishi-plugin-win
Advanced tools
Comparing version 0.0.1 to 0.0.2
@@ -7,2 +7,3 @@ "use strict"; | ||
exports.Config = koishi_1.Schema.object({}); | ||
let enabled = true; //标记随机事件是否启用 | ||
function apply(ctx) { | ||
@@ -12,10 +13,14 @@ registerCommand(ctx); | ||
//有2%几率发表重要讲话 | ||
let 随机数 = Math.floor(Math.random() * (100 - 1 + 1) + 1); | ||
//session.send(enabled + '1'); | ||
let r = Math.floor(Math.random() * (100 - 1 + 1) + 1); | ||
//if (随机数 >= '10') { | ||
if (随机数 >= 64 && 随机数 <= 65) { | ||
session.send('@' + session.author.username + ' 发表重要讲话:' + session.content); | ||
//session.send('\n此时随机数是' + 随机数); | ||
if (r >= 32 && r <= 33) { | ||
if (enabled && session.content != 'event') { | ||
session.send('@' + session.author.username + ' 发表重要讲话:' + session.content); | ||
//session.send('\n此时随机数是' + 随机数); | ||
} | ||
} | ||
if (随机数 == 12) { | ||
session.send('谁问你了?'); | ||
if (r == 78) { | ||
if (enabled) | ||
session.send('谁问你了?'); | ||
} | ||
@@ -30,17 +35,19 @@ /*else { | ||
async function getRandom() { | ||
//获取0-99随机数 | ||
const num = Math.floor(Math.random() * 100); | ||
//获取1-100随机数 | ||
const num = Math.floor(Math.random() * (100 - 1 + 1)) + 1; | ||
return num; | ||
} | ||
async function getWin(num) { | ||
//获取赢的结果,概率分别为50、25、18、5、2。 | ||
//const win = ['小赢', '中赢', '大赢', '双赢', '特大赢']; | ||
//获取赢的结果,概率分别为50、25、17、5、2、1。 | ||
//const win = ['小赢', '中赢', '大赢', '双赢', '特大赢','输']; | ||
let result = 0; | ||
if (num >= 98) | ||
if (num >= 100) | ||
result = 5; | ||
else if (num >= 98) | ||
result = 4; | ||
else if (num >= 93) | ||
result = 3; | ||
else if (num >= 75) | ||
else if (num >= 76) | ||
result = 2; | ||
else if (num >= 50) | ||
else if (num >= 51) | ||
result = 1; | ||
@@ -59,3 +66,3 @@ //else result = 0; | ||
} | ||
async function getInterpret(date, id, newWin, winIndex) { | ||
async function getInterpret(date, id, newWin, winIndex, rate) { | ||
//解读赢的结果 | ||
@@ -67,4 +74,4 @@ /*const month = date[0], day = date[1]; | ||
let result = ''; | ||
result = '恭喜' + id + '在' + date[0] + '月' + date[1] + '日又赢了一次!\n' + id + '赢的程度是:'; | ||
const win = ['小赢\n维为寄语:', '中赢\n维为寄语:', '大赢\n维为寄语:', '双赢\n维为寄语:', '特大赢\n维为寄语:']; | ||
result = '恭喜' + id + '在' + date[0] + '月' + date[1] + '日又赢了一次!\n' + id + '赢的程度是:' + rate + '%,属于'; | ||
const win = ['小赢。\n维为寄语:', '中赢。\n维为寄语:', '大赢。\n维为寄语:', '双赢。\n维为寄语:', '特大赢。\n维为寄语:', '输!\n教授寄语:']; | ||
const msg = [ | ||
@@ -75,6 +82,7 @@ ['只要你自信,怎么赢都可以。', '我真的觉得我们千万不能太天真。', '我们的回旋余地特别大。', '很显然就是觉得不服气。'], | ||
['我们已经对美国形成了巨大的压力。', '必须给美国迎头痛击!', '你真可能会创造世界奇迹的。', '这种自信令人有点回味无穷。'], | ||
['已经震撼了这个世界!', '这是一种发自内心的钦佩。', '真希望美国能达到这个水平。', '至今引以为荣。'] | ||
['已经震撼了这个世界!', '这是一种发自内心的钦佩。', '真希望美国能达到这个水平。', '至今引以为荣。'], | ||
['你赢赢赢,最后是输光光。', '你赢赢赢,最后是输光光。', '你赢赢赢,最后是输光光。', '你赢赢赢,最后是输光光。'] | ||
]; | ||
let r = Math.floor(Math.random() * (4 - 0)) + 0; //生成包含0、不包含4的整数 | ||
return result + win[winIndex] + msg[winIndex][r]; | ||
return result + win[winIndex] /*+ '\n维为寄语'*/ + msg[winIndex][r]; | ||
} | ||
@@ -85,13 +93,24 @@ function registerCommand(ctx) { | ||
*/ | ||
ctx.command('win [targetId:string]', '查询今日赢的情况') | ||
ctx.command('win', '查询今日有多赢,其概率分别为:\n小赢 - 50%,中赢 - 25%、大赢 - 17%、\n双赢 - 5%、特大赢 - 2%、[数据删除] - 1%') | ||
.action(async ({ session }, targetId) => { | ||
if (!targetId) { //如果targetId为空,则自动获取发送者的用户id,存储至targetId | ||
targetId = session.userId; | ||
} | ||
/*if (!targetId) {//如果targetId为空,则自动获取发送者的用户id,存储至targetId | ||
targetId = session.userId; | ||
}*/ | ||
const date = await getDate(); //获取当前日期,数组下标0为月份,1为日期 | ||
let newWin = true; //标识是否今日刚赢 | ||
let win = 0; | ||
win = await (getWin(await getRandom())); //获取赢的结果 | ||
await session.sendQueued(await getInterpret(date, session.author.username, newWin, win)); //解读赢的结果并发送至消息队列 | ||
let rate = await getRandom(); | ||
win = await (getWin(rate)); //获取赢的结果 | ||
await session.sendQueued(await getInterpret(date, session.author.username, newWin, win, rate)); //解读赢的结果并发送至消息队列 | ||
}); | ||
ctx.command('event') | ||
.action(async ({ session, options }) => { | ||
enabled = !enabled; | ||
if (enabled) { | ||
await session.sendQueued('随机触发事件已开启。'); | ||
} | ||
else { | ||
await session.sendQueued('随机触发事件已关闭。'); | ||
} | ||
}); | ||
} |
{ | ||
"name": "koishi-plugin-win", | ||
"description": "我们又赢了!", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"main": "lib/index.js", | ||
@@ -6,0 +6,0 @@ "typings": "lib/index.d.ts", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
5764
115