lora / 不知道 /回收站 /戳一戳.js
lintonxue00's picture
Upload 戳一戳.js
5e6af6f
raw
history blame
7.48 kB
// 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)
}
}
}
}