File size: 7,478 Bytes
5e6af6f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
// by 癫癫博士
// 实现自定义戳一戳交互功能,支持返回文字图片语音禁言,其中语音需配置ffmpeg
// 希望大家喜欢^^
//本人没有测试群,不过其他大佬有(比如渔火佬仓库里的其他作者),可以去看看,我也在里面快乐水群^^
//有idea/有提议/发现bug的话可以通过gitee评论或者私聊联系我~
//项目gitee地址:https://gitee.com/huangshx2001/yunzai-js-plug-in
//欢迎来找找其他有趣的项目或者来点个star~

//阿露改动:将语音从接口获取改为本地发送


import plugin from'../../lib/plugins/plugin.js'
import{segment}from'oicq'
import cfg from'../../lib/config/config.js'
import common from'../../lib/common/common.js'
const path=process.cwd()


//在这里设置事件概率,请保证概率加起来小于1,少于1的部分会触发反击
let reply_text = 0.15 //文字回复概率
let reply_img = 0.67 //图片回复概率
let reply_voice = 0.00 //语音回复概率
let mutepick = 0.02 //禁言概率
let example = 0.08 //拍一拍表情概率
//剩下的0.08概率就是反击


//定义图片存放路径 默认是Yunzai-Bot/resources/chuochuo
const chuo_path=path+'/resources/chuochuo/';

//定义语音存放路径 默认是Yunzai-Bot/resources/chuochuo2
const chuo_path2=path+'/resources/chuochuo2/'

//图片需要从1开始用数字命名并且保存为jpg或者gif格式,存在Yunzai-Bot/resources/chuochuo目录下
let jpg_number = 915 //输入jpg图片数量
let gif_number = 2 //输入gif图片数量

//语音与图片同理,需要将语音从1开始用数字命名并且保存为wav格式,存在Yunzai-Bot/resources/chuochuo2目录下
let wav_number = 1 //输入wav音频数量


//回复文字列表
let word_list=['戳一次保底一次,嘻嘻',
'痛QAQ...',
'不要戳戳…',
'旅行者,你深渊12层能一次过吗?',
'快带我去玩!(打滚)',
'哇,你这个人!',
'我真的是栓Q',
'(◦`~´◦)你个老六',
'【保底七七概率+10%】',
'【保底天空之卷概率+10%】',
'【保底迪卢克概率+10%】',
'【保底莫娜概率+10%】',
'【保底琴概率+10%】',
'【保底刻晴概率+10%】',
'【保底风鹰剑概率+10%】',
'【保底狼末概率+10%】',
'【保底迪卢克概率+10%】',
'【保底天空之刃概率+10%】',
'【保底提纳里概率+10%】',
'【保底阿莫斯之弓概率+10%】',
'【保底和璞鸢概率+10%】',
'【保底天空之脊概率+10%】',
'【保底天空之傲概率+10%】',
'【保底天空之翼概率+10%】',
'【保底四风原典概率+10%】',
'是哪个笨蛋在戳我?',
'奖励你一只甜甜花酿鸡',
'干点正事吧!',
'这破群我是一点也待不下去了!',
'可恶!',
'囊哒哟~',
'达咩!',
'呜哇!',
'你个坏蛋~',
'(摇头)',
'(后空翻)',
'(劈叉)',
'(惊醒)',
'(楞)',
'(眨眼)',
'?',
'气气!',
'过分分!',
'走开啦!',
'੭ ᐕ)੭*⁾⁾',
'`⌒´メ',
'o(´^`)o',
'(。’▽’。)♡',
'(〟-_・)ン?',
'Σ(°Д°;',
'⋟﹏⋞',
'◦˙▽˙◦',
'ξ( ✿>◡❛)',
'_(:3 ⌒゙)_',
'(╯‵□′)╯︵┴─┴',
'呜哇!我要给你起个难听的绰号!',
'(宵宫拿走了旅行者仓库里的一把五星武器)',
'【强化圣遗物时小防御拉满】',
'【强化圣遗物时小生命拉满】',
'【强化圣遗物时精通拉满】',
'【强化圣遗物时小攻击拉满】',
'【强化圣遗物时暴击率拉满】',
'【强化圣遗物时暴击伤害拉满】',
'吃我一拳!',
'饿饿...',
'讨厌!',
'坏坏!',
'哒咩,别戳了!',
'呜哇!主人救命!',
'你欺负我!',
'充电的时候不可以戳啊,万一漏电了怎么办?',
'QAQ呜哇啊啊啊啊啊!',
'【旅行者命之座-1】',
'【旅行者保底次数+1】',
'【纠缠之缘-10】',
'【空月祝福-30】',
'【大冒险家的经验-100】',
'【摩拉-300w】',
'【原石-1600】',
'(宵宫偷偷拿走了你3000w摩拉,买了甜甜花酿鸡)',
'(宵宫想要拿走你的原石,但失败了...)',
'(宵宫拿走了你背包里10个相遇之缘)',
'QAQ..这个人欺负我…',
'呜呜,要变笨啦!',
'呜呜呜...你还戳QAQ',
'再戳哭给你看!',
'只给你戳一小会儿~',
'虽然戳不坏,但我也是有脾气哒!',
'别戳了别戳了><',
'QAQ',
'你怎么又戳我,气气!',
];


export class chuo extends plugin{
    constructor(){
    super({
        name: '戳一戳',
        dsc: '戳一戳机器人触发效果',
        event: 'notice.group.poke',
        priority: 50,
        rule: [
            {
                /** 命令正则匹配 */
                fnc: 'chuoyichuo'
                }
            ]
        }
    )
}


async chuoyichuo (e){
    logger.info('[戳一戳生效]')
    if(e.target_id == cfg.qq){
        //生成0-100的随机数
        let random_type = Math.random()
        
        //回复随机文字
        if(random_type < reply_text){
            let text_number = Math.ceil(Math.random() * word_list['length'])
            await e.reply(word_list[text_number-1])
        }
        
        
        //回复随机图片
        else if(random_type < (reply_text + reply_img)){

            let photo_number = Math.ceil(Math.random() * (jpg_number + gif_number))
            
            if(photo_number<=jpg_number){
                e.reply(segment.image('file:///' + path + '/resources/chuochuo/'+ photo_number + '.jpg'))
            }
            else{
                photo_number = photo_number - jpg_number
                e.reply(segment.image('file:///' + path + '/resources/chuochuo/'+ photo_number + '.gif'))
            }

        }
        
        //回复随机语音
        else if(random_type < (reply_text + reply_img + reply_voice)){
            
            let voice_number = Math.ceil(Math.random() * (wav_number))
            
            if(voice_number<=wav_number){
                e.reply(segment.record('file:///' + path + '/resources/chuochuo2/'+ voice_number + '.wav'))
        }
        }
        //禁言
        else if(random_type < (reply_text + reply_img + reply_voice + mutepick)){
            //两种禁言方式,随机选一种
            let mutetype = Math.ceil(Math.random() * 2)
            if(mutetype == 1){
                e.reply('说了不要戳了!')
                await common.sleep(1000)
                await e.group.muteMember(e.operator_id,60);
                await common.sleep(3000)
                e.reply('啧')
                //有这个路径的图话可以加上
                //await e.reply(segment.image('file:///' + path + '/resources/chuochuo/'+'laugh.jpg'))
            }
            else if (mutetype == 2){
                e.reply('不!!')
                await common.sleep(500);
                e.reply('准!!')
                await common.sleep(500);
                e.reply('戳!!')
                await common.sleep(1000);
                await e.group.muteMember(e.operator_id,60)
            }
        }
        
        //拍一拍表情包
        else if(random_type < (reply_text + reply_img + reply_voice + mutepick + example)){
            await e.reply(await segment.image(`http://ovooa.com/API/face_pat/?QQ=${e.operator_id}`))
        }
        
        //反击
        else {
            e.reply('反击!')
            await common.sleep(1000)
            await e.group.pokeMember(e.operator_id)
        }
        
    }
    
}
    
}