-
Notifications
You must be signed in to change notification settings - Fork 0
/
俄罗斯轮盘赌pro max.js
334 lines (285 loc) · 11.2 KB
/
俄罗斯轮盘赌pro max.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
/** 欢迎大家叫上另外五个小伙伴测试该游戏,测试之前最好给机器人个管理
口令: #开始俄罗斯轮盘
#开枪
#清除数据 清除所有群聊下的俄罗斯轮盘记录
支持多群共玩
联系qq:928368902
*/
import path from 'path';
import plugin from '../../lib/plugins/plugin.js'
import { segment } from "oicq";
import fetch from "node-fetch";
import fs from "fs";
import { url } from 'inspector';
const folderPath = 'resources/lunpandu';
var dirpath = 'resources/lunpandu';//路径
var filename = '';//文件名
if (!fs.existsSync(dirpath)) {
fs.mkdirSync(dirpath);}
let id = []
let time = 300
/** 禁言时间,单位:秒*/
let t
let a
let u1
let msg
let id1
export class example extends plugin {
constructor() {
super({
/** 功能名称 */
name: 'lpd',
/** 功能描述 */
dsc: 'lpd',
/** https://oicqjs.github.io/oicq/#events */
event: 'message',
/** 优先级,数字越小等级越高 */
priority: 40,
rule: [
{
/** 命令正则匹配 */
reg: "#俄罗斯轮盘赌|#俄罗斯轮盘|#开始俄罗斯轮盘赌|#开始俄罗斯轮盘",
/** 执行方法 */
fnc: 'lpd'
},
{
/** 命令正则匹配 */
reg: "#开枪",
/** 执行方法 */
fnc: 'lpd2'
},
{
/** 命令正则匹配 */
reg: "#清除数据",
/** 执行方法 */
fnc: 'lpd3'
},
]
})
}
//执行方法
async lpd(e) {if(!e.isGroup){e.reply('该功能仅群聊可用');return true}else{ filename=e.group_id+'.json'
if (!fs.existsSync(dirpath+"/"+filename)) {
fs.appendFileSync(dirpath + "/" + filename, JSON.stringify({"start": 1,"t":1}))
e.reply('俄罗斯轮盘赌已开始,勇士们,拿起左轮手枪,弹匣一共七个孔,只有一个装有子弹,谁会成为那个幸运儿呢?发送 #开枪 感受心跳吧!')}else{e.reply('游戏早已经开始了哦,发送 #开枪 感受心跳吧!')}
}
}
async lpd2(e) {let url = `http://ovooa.com/API/yi/?QQ=${e.user_id}`
filename=e.group_id+'.json'
u1 = e.user_id
id1=e.sender.nickname
if (fs.existsSync(dirpath+"/"+filename)) {
fs.readFile(dirpath + "/" + filename, (err, data) => {
if (err) {
console.log(err);
} else {
let jsonData = JSON.parse(data);
if (jsonData.t) {
t=jsonData.t
jsonData.t = jsonData.t+1;
jsonData[id1]= u1
console.log(t)
fs.writeFile(dirpath + "/" + filename, JSON.stringify(jsonData), (err) => {
if (err) {
console.log(err);
} else {
console.log('成功改写数据\n'+jsonData.t );
if(t==1){
a = Math.random();
if (a <= 1/7) { e.reply(e.sender.nickname+'若无其事地拿起左轮,把左轮手枪对准自己的太阳穴,一脸轻松地扣下扳机...');
setTimeout(function(){
e.group.muteMember(u1,time)
let msg = [segment.image(url),
'\n砰————(枪声响起,鲜血和脑浆飞溅)恭喜他,他死了。第一枪他就中枪了,他的运气真不是一般的好呢!在下面买张彩票吧!']
e.reply(msg);
t=0
fs.unlink(dirpath + "/" + filename, (err) => {
if (err) {
console.error(err);
return;
}
console.log(filename+'已被删除!');
});
}, 2000); // 停顿2秒
} else {
e.reply(e.sender.nickname+'若无其事地拿起左轮,一脸轻松地扣下扳机...');
setTimeout(function(){
e.reply('什么事情也没发生,'+e.sender.nickname+'轻蔑一笑,摇了摇头,把手枪交给了下一个人...')
}, 2000); // 停顿2秒
}return true
}
else if(t==2){
a = Math.random();
if (a <= 1/6) {
e.reply(e.sender.nickname+'神色不是很自然,拿起左轮,把左轮手枪对准自己的太阳穴,犹豫了一会儿,扣下扳机...');
setTimeout(function(){
e.group.muteMember(u1,time)
msg = [segment.image(url),
'\n砰————(枪声响起,鲜血和脑浆飞溅)恭喜他,他死了。第二枪他就中枪了,他的运气看起来还行呢!']
e.reply(msg);
t=0
fs.unlink(dirpath + "/" + filename, (err) => {
if (err) {
console.error(err);
return;
}
console.log(filename+'已被删除!');
});
}, 2000); // 停顿2秒
}else{
e.reply(e.sender.nickname+'神色不是很自然,拿起左轮,犹豫了一会儿,扣下扳机...');
setTimeout(function(){
e.reply('什么事情也没发生,'+e.sender.nickname+'松了一口气,把手枪交给了下一个人...')
}, 2000); // 停顿2秒
}return true
}
else if(t==3){
a = Math.random();
if (a <= 1/5) { e.reply(e.sender.nickname+'颤抖着手,把左轮手枪对准自己的太阳穴,紧张地闭上眼睛,缓缓地扣下扳机...');
setTimeout(function(){
e.group.muteMember(u1,time)
msg = [segment.image(url),
'\n砰————(枪声响起,鲜血和脑浆飞溅)恭喜他,他死了。这是第三枪,他的运气还可以。']
e.reply(msg);
t=0
fs.unlink(dirpath + "/" + filename, (err) => {
if (err) {
console.error(err);
return;
}
console.log(filename+'已被删除!');
});
}, 2000); // 停顿2秒
}else{
e.reply(e.sender.nickname+'颤抖着手,把左轮手枪对准自己的太阳穴,紧张地闭上眼睛,缓缓地扣下扳机...');
setTimeout(function(){
e.reply('什么事情也没发生,'+e.sender.nickname+'松了一口气,大口大口地喘着粗气,手枪交给了下一个人...')
}, 2000); // 停顿2秒
}return true
}
else if(t==4){
a = Math.random();
if (a <= 1/4) { e.reply(e.sender.nickname+'非常慌,他也没想到前面的人能够撑那么久没中枪,哆哆嗦嗦地把左轮手枪对准自己的太阳穴,紧张地闭上眼睛,缓缓地扣下扳机...');
setTimeout(function(){
e.group.muteMember(u1,time)
msg = [segment.image(url),
'\n砰————(枪声响起,鲜血和脑浆飞溅)恭喜他,他死了。这是第四枪,他的运气还可以。']
e.reply(msg);
t=0
fs.unlink(dirpath + "/" + filename, (err) => {
if (err) {
console.error(err);
return;
}
console.log(filename+'已被删除!');
});
}, 2000); // 停顿2秒
}else{
e.reply(e.sender.nickname+'非常慌,他也没想到前面的人能够撑那么久没中枪,哆哆嗦嗦地把左轮手枪对准自己的太阳穴,紧张地闭上眼睛,缓缓地扣下扳机...');
setTimeout(function(){
e.reply('什么事情也没发生,'+e.sender.nickname+'鬓角泌出了冷汗,全身变得瘫软跌坐在地上,把手枪交给了下一个人...')
}, 2000); // 停顿2秒
}return true}
else if(t==5){a = Math.random();
if (a <= 1/3) { e.reply(e.sender.nickname+'非常慌,面色煞白,祈祷着,把左轮手枪对准自己的太阳穴,颤抖着扣下扳机...');
setTimeout(function(){
e.group.muteMember(u1,time)
msg = [segment.image(url),
'\n砰————(枪声响起,鲜血和脑浆飞溅)恭喜他,他死了。这是第五枪。真惨啊。。']
e.reply(msg);
t=0
fs.unlink(dirpath + "/" + filename, (err) => {
if (err) {
console.error(err);
return;
}
console.log(filename+'已被删除!');
});
}, 2000); // 停顿2秒
}else{
e.reply(e.sender.nickname+'非常慌,面色煞白,祈祷着,把左轮手枪对准自己的太阳穴,颤抖着扣下扳机...');
setTimeout(function(){
e.reply('什么事情也没发生,'+e.sender.nickname+'欣喜若狂,如同疯子般大笑起来,把手枪交给了下一个人...')
}, 2000); // 停顿2秒
}return true}
else if(t==6){a = Math.random();
if (a <= 1/2) { e.reply(e.sender.nickname+'哭了,不愿意上前,却被其他人逼着拿起了枪,非常艰难地扣下扳机...');
setTimeout(function(){
e.group.muteMember(u1,time)
msg = [segment.image(url),
'\n砰————(枪声响起,鲜血和脑浆飞溅)恭喜他,他死了。这是第六枪。真惨啊,让我们为他默哀。。']
e.reply(msg);
t=0
fs.unlink(dirpath + "/" + filename, (err) => {
if (err) {
console.error(err);
return;
}
console.log(filename+'已被删除!');
});
}, 2000); // 停顿2秒
return true}else{
e.reply(e.sender.nickname+'哭了,不愿意上前,却被其他人逼着拿起了枪,非常艰难地扣下扳机...');
setTimeout(function(){
e.reply('什么事情也没发生,但是'+e.sender.nickname+'已经被吓到虚脱了,险些昏倒...')
}, 2000); // 停顿2秒
t=7
}}
if(t==7){
let jsonData = fs.readFileSync(dirpath + "/" + filename);
let data = JSON.parse(jsonData);
for (let key in data) {
if (key !== 'start'&key !== 't') {
id.push(key);
}
}
var randomIndex = Math.floor(Math.random() * id.length);
var randomValue = id[randomIndex];
var randomValue1 = data[randomValue]
console.log(randomValue1)
setTimeout(function(){
e.group.muteMember(randomValue1,time)
msg = [segment.image(`http://ovooa.com/API/yi/?QQ=${randomValue1}`),
'\n因为只剩最后一枪了,那枪肯定有子弹,所以没有人愿意主动开枪了,所以随机挑一个人出来击毙!\n砰————(枪声响起,鲜血和脑浆飞溅)恭喜天选之子:'+randomValue+'中枪,他死了。这是最后一枪,这真是太惨了,都给我哭!']
e.reply(msg);
t=0
fs.unlink(dirpath + "/" + filename, (err) => {
if (err) {
console.error(err);
return;
}
console.log(filename+'已被删除!');
});
}, 2000); // 停顿2秒
return true
}else if(t!==1&t!==2&t!==3&t!==4&t!==5&t!==6&t!==7){return true}
else{console.log('死神待命中')}
}
});
}
}
});
}else{e.reply('死亡游戏还没开始,快发送#俄罗斯轮盘赌 开始游戏吧!')
return true}
}
async lpd3(e){fs.readdir(folderPath, (err, files) => {
if (err) {
console.log(err);
return;
}
files.forEach(file => {
const filePath = path.join(folderPath, file);
const extname = path.extname(filePath);
if (extname === '.json') {
fs.unlink(filePath, err => {
if (err) {
console.log(err);
return;
}
console.log(`${filePath} deleted,删除成功`);
e.reply(`${filePath} deleted,删除成功`);
});
}
});
});}
}