mirror of
https://github.com/Jerryplusy/crystelf-plugin.git
synced 2025-07-04 14:19:19 +00:00
优化poke
This commit is contained in:
parent
9db83a0fee
commit
030dbc9801
189
apps/poke.js
189
apps/poke.js
@ -8,7 +8,7 @@ const replyVoice = configControl.get('poke')?.replyVoice;
|
|||||||
const mutePick = configControl.get('poke')?.mutePick;
|
const mutePick = configControl.get('poke')?.mutePick;
|
||||||
const muteTime = configControl.get('poke')?.muteTime;
|
const muteTime = configControl.get('poke')?.muteTime;
|
||||||
|
|
||||||
export default class pockpock extends plugin {
|
export default class ChuochuoPlugin extends plugin {
|
||||||
constructor() {
|
constructor() {
|
||||||
super({
|
super({
|
||||||
name: '戳一戳',
|
name: '戳一戳',
|
||||||
@ -24,31 +24,35 @@ export default class pockpock extends plugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async chuoyichuo(e) {
|
async chuoyichuo(e) {
|
||||||
if (cfg.masterQQ.includes(e.target_id)) {
|
if (cfg.masterQQ.includes(e.target_id) && e.operator_id !== e.target_id) {
|
||||||
await pokeMaster(e);
|
return await pokeMaster(e);
|
||||||
} else if (cfg.masterQQ.includes(e.operator_id)) {
|
}
|
||||||
await masterPoke(e);
|
|
||||||
} else if (e.target_id === e.self_id) {
|
if (cfg.masterQQ.includes(e.operator_id)) {
|
||||||
await chuochuo(e);
|
return await masterPoke(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.target_id === e.self_id) {
|
||||||
|
return await handleBotPoke(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function pokeMaster(e) {
|
async function pokeMaster(e) {
|
||||||
logger.info('谁戳主人了..');
|
logger.info('谁戳主人了...');
|
||||||
if (cfg.masterQQ.includes(e.operator_id) || e.self_id === e.operator_id) {
|
if (cfg.masterQQ.includes(e.operator_id) || e.self_id === e.operator_id) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
e.reply(`你几把谁啊,敢戳我主人,胆子好大啊你🤚😡🤚`);
|
await e.reply(`你几把谁啊,敢戳我主人,胆子好大啊你🤚😡🤚`);
|
||||||
await tool.sleep(1000);
|
await tool.sleep(1000);
|
||||||
e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
await e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function masterPoke(e) {
|
async function masterPoke(e) {
|
||||||
logger.info(`跟主人一起戳!`);
|
logger.info(`跟主人一起戳!`);
|
||||||
if (e.target_id !== e.uin) {
|
if (e.target_id !== e.uin) {
|
||||||
e.bot.sendApi('group_poke', {
|
await e.bot.sendApi('group_poke', {
|
||||||
group_id: e.group_id,
|
group_id: e.group_id,
|
||||||
user_id: e.target_id,
|
user_id: e.target_id,
|
||||||
});
|
});
|
||||||
@ -56,107 +60,108 @@ async function masterPoke(e) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function chuochuo(e) {
|
async function handleBotPoke(e) {
|
||||||
logger.info(e.target_id);
|
|
||||||
logger.info(e.operator_id);
|
|
||||||
const randomNum = Math.random();
|
const randomNum = Math.random();
|
||||||
|
|
||||||
if (randomNum < replyText) {
|
if (randomNum < replyText) {
|
||||||
await axios
|
try {
|
||||||
.get(`${configControl.get(`coreConfig`)?.coreUrl}/api/words/getText/poke`)
|
const res = await axios.get(
|
||||||
.then((res) => {
|
|
||||||
logger.info(JSON.stringify(res));
|
|
||||||
if (res.data?.success) {
|
|
||||||
return res.data.data;
|
|
||||||
} else {
|
|
||||||
return e.reply(`戳一戳出错了!${configControl.get('nickName')}不知道该说啥好了..`);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
/*if (returnData?.success) {
|
|
||||||
return e.reply(returnData.data);
|
|
||||||
} else {
|
|
||||||
return e.reply(`戳一戳出错了!${configControl.get('nickName')}不知道该说啥好了..`);
|
|
||||||
}*/
|
|
||||||
} else if (randomNum < replyText + replyVoice) {
|
|
||||||
const returnData = await axios.get(
|
|
||||||
`${configControl.get(`coreConfig`)?.coreUrl}/api/words/getText/poke`
|
`${configControl.get(`coreConfig`)?.coreUrl}/api/words/getText/poke`
|
||||||
);
|
);
|
||||||
if (returnData?.data?.success) {
|
if (res.data?.success) {
|
||||||
let message = returnData.data.data.toString();
|
return await e.reply(res.data.data);
|
||||||
message = cleanText(message);
|
} else {
|
||||||
|
return await e.reply(`戳一戳出错了!${configControl.get('nickName')}不知道该说啥好了..`);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
logger.error('戳一戳请求失败', err);
|
||||||
|
return await e.reply(`戳一戳出错了!${configControl.get('nickName')}不知道该说啥好了..`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (randomNum < replyText + replyVoice) {
|
||||||
|
try {
|
||||||
|
const res = await axios.get(
|
||||||
|
`${configControl.get(`coreConfig`)?.coreUrl}/api/words/getText/poke`
|
||||||
|
);
|
||||||
|
if (res.data?.success) {
|
||||||
|
let message = cleanText(res.data.data.toString());
|
||||||
logger.info(message);
|
logger.info(message);
|
||||||
return await e.bot.sendApi('get_ai_record', {
|
return await e.bot.sendApi('get_ai_record', {
|
||||||
group_id: e.group_id,
|
group_id: e.group_id,
|
||||||
character: 'lucy-voice-hoige',
|
character: 'lucy-voice-hoige',
|
||||||
text: message,
|
text: message,
|
||||||
});
|
});
|
||||||
} else {
|
}
|
||||||
|
} catch (err) {
|
||||||
|
logger.error('语音生成失败', err);
|
||||||
return await e.reply(`戳一戳出错了!${configControl.get('nickName')}不知道该说啥好了..`);
|
return await e.reply(`戳一戳出错了!${configControl.get('nickName')}不知道该说啥好了..`);
|
||||||
}
|
}
|
||||||
} else if (randomNum < replyText + replyVoice + mutePick) {
|
}
|
||||||
|
|
||||||
|
if (randomNum < replyText + replyVoice + mutePick) {
|
||||||
let mutetype = Math.ceil(Math.random() * 4);
|
let mutetype = Math.ceil(Math.random() * 4);
|
||||||
if (!Bot.pickMember(e.group_id, e.bot.uin).getInfo()?.role === ('admin' || 'owner')) {
|
|
||||||
mutetype = 5;
|
const botInfo = await e.bot.getGroupMemberInfo(e.group_id, e.bot.uin);
|
||||||
|
const isAdmin = botInfo.role === 'admin' || botInfo.role === 'owner';
|
||||||
|
if (!isAdmin) mutetype = 5;
|
||||||
|
|
||||||
|
switch (mutetype) {
|
||||||
|
case 1:
|
||||||
|
await e.reply('我生气了!砸挖撸多!木大!木大木大!');
|
||||||
|
await tool.sleep(1000);
|
||||||
|
return await tryMute(e, 60 * muteTime);
|
||||||
|
case 2:
|
||||||
|
await e.reply('不!!');
|
||||||
|
await tool.sleep(1000);
|
||||||
|
await e.reply('准!!');
|
||||||
|
await tool.sleep(1000);
|
||||||
|
await e.reply('戳!!');
|
||||||
|
await tool.sleep(1000);
|
||||||
|
await tryMute(e, 60 * muteTime);
|
||||||
|
await tool.sleep(1000);
|
||||||
|
return await e.reply('!!');
|
||||||
|
case 3:
|
||||||
|
await e.reply('吃我10068拳!');
|
||||||
|
await tool.sleep(1000);
|
||||||
|
await e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
||||||
|
await tryMute(e, 60 * muteTime);
|
||||||
|
return;
|
||||||
|
case 4:
|
||||||
|
await e.reply('哼,我可是会还手的哦——');
|
||||||
|
await tool.sleep(1000);
|
||||||
|
await e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
||||||
|
return await tryMute(e, 60 * muteTime);
|
||||||
|
case 5:
|
||||||
|
await e.reply('哼,要不是我不是管理,早🈲盐你了!');
|
||||||
|
await tool.sleep(1000);
|
||||||
|
return await e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
||||||
}
|
}
|
||||||
if (mutetype === 1) {
|
|
||||||
e.reply('我生气了!砸挖撸多!木大!木大木大!');
|
|
||||||
await tool.sleep(1000);
|
|
||||||
await e.group.muteMember(e.operator_id, 60 * muteTime);
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
if (mutetype === 2) {
|
|
||||||
e.reply('不!!');
|
// 普通 poke 回复
|
||||||
await tool.sleep(1000);
|
|
||||||
e.reply('准!!');
|
|
||||||
await tool.sleep(1000);
|
|
||||||
e.reply('戳!!');
|
|
||||||
await tool.sleep(1000);
|
|
||||||
await e.group.muteMember(e.operator_id, 60 * muteTime);
|
|
||||||
await tool.sleep(1000);
|
|
||||||
e.reply('!!');
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (mutetype === 3) {
|
|
||||||
e.reply('吃我10068拳!');
|
|
||||||
await tool.sleep(1000);
|
|
||||||
e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
|
||||||
await e.group.muteMember(e.operator_id, 60 * muteTime);
|
|
||||||
await tool.sleep(1000);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (mutetype === 4) {
|
|
||||||
e.reply('哼,我可是会还手的哦——');
|
|
||||||
await tool.sleep(1000);
|
|
||||||
e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
|
||||||
await e.group.muteMember(e.operator_id, 60 * muteTime);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (mutetype === 5) {
|
|
||||||
e.reply('哼,要不是我不是管理,早🈲盐你了!');
|
|
||||||
await tool.sleep(1000);
|
|
||||||
e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
const returnType = Math.round(Math.random() * 3);
|
const returnType = Math.round(Math.random() * 3);
|
||||||
if (returnType === 1) {
|
const replies = [
|
||||||
e.reply('吃我一拳喵!');
|
'吃我一拳喵!',
|
||||||
|
'你刚刚是不是戳我了,你是坏蛋!我要戳回去,哼!!!',
|
||||||
|
'是不是要本萝莉揍你一顿才开心啊!!!',
|
||||||
|
];
|
||||||
|
if (replies[returnType]) {
|
||||||
|
await e.reply(replies[returnType]);
|
||||||
await tool.sleep(1000);
|
await tool.sleep(1000);
|
||||||
e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
return await e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
||||||
return true;
|
|
||||||
} else if (returnType === 2) {
|
|
||||||
e.reply('你刚刚是不是戳我了,你是坏蛋!我要戳回去,哼!!!');
|
|
||||||
await tool.sleep(1000);
|
|
||||||
e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
|
||||||
return true;
|
|
||||||
} else if (returnType === 3) {
|
|
||||||
e.reply('是不是要本萝莉揍你一顿才开心啊!!!');
|
|
||||||
await tool.sleep(1000);
|
|
||||||
e.bot.sendApi('group_poke', { group_id: e.group_id, user_id: e.operator_id });
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function cleanText(inputText) {
|
function cleanText(inputText) {
|
||||||
//保留逗号、句号、感叹号、问号,及字母和数字
|
|
||||||
return inputText.replace(/[^\w\s,.!?]/g, '');
|
return inputText.replace(/[^\w\s,.!?]/g, '');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function tryMute(e, duration) {
|
||||||
|
try {
|
||||||
|
await e.group.muteMember(e.operator_id, duration);
|
||||||
|
} catch (err) {
|
||||||
|
logger.warn(`禁言失败: ${err}`);
|
||||||
|
await e.reply('气死我了!禁言不了你');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user