Compare commits

...

2 Commits

Author SHA1 Message Date
ac0eb92efd 细节修复 2025-08-28 01:18:04 +08:00
c0b75eeaa0 早晚安 2025-08-28 01:08:27 +08:00
3 changed files with 252 additions and 9 deletions

View File

@ -65,10 +65,13 @@ async function handleBotPoke(e) {
if (randomNum < replyText) { if (randomNum < replyText) {
try { try {
const res = await axios.get( const coreUrl = configControl.get(`coreConfig`)?.coreUrl;
`${configControl.get(`coreConfig`)?.coreUrl}/api/words/getText/poke` const targetUrl = `${coreUrl}/api/words/getText`;
); const res = await axios.post(targetUrl, {
if (res.data?.success) { type: 'poke',
id: 'poke',
});
if (res.data.success) {
return await e.reply(res.data.data); return await e.reply(res.data.data);
} else { } else {
return await e.reply(`戳一戳出错了!${configControl.get('nickName')}不知道该说啥好了..`); return await e.reply(`戳一戳出错了!${configControl.get('nickName')}不知道该说啥好了..`);
@ -81,10 +84,13 @@ async function handleBotPoke(e) {
if (randomNum < replyText + replyVoice) { if (randomNum < replyText + replyVoice) {
try { try {
const res = await axios.get( const coreUrl = configControl.get(`coreConfig`)?.coreUrl;
`${configControl.get(`coreConfig`)?.coreUrl}/api/words/getText/poke` const targetUrl = `${coreUrl}/api/words/getText`;
); const res = await axios.post(targetUrl, {
if (res.data?.success) { type: 'poke',
id: 'poke',
});
if (res.data.success) {
const message = res.data.data.toString(); const message = res.data.data.toString();
//let message = cleanText(res.data.data.toString()); //let message = cleanText(res.data.data.toString());
//logger.info(message); //logger.info(message);
@ -134,7 +140,7 @@ async function handleBotPoke(e) {
await 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 await tryMute(e, 60 * muteTime); return await tryMute(e, 60 * muteTime);
case 5: case 5:
await e.reply('哼,要不是我不是管理,早🈲盐你了'); await e.reply('哼,唔啊啊啊啊啊啊');
await tool.sleep(1000); await tool.sleep(1000);
return await 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 });
} }

161
apps/zwa.js Normal file
View File

@ -0,0 +1,161 @@
import { segment } from 'oicq';
import plugin from '../../../lib/plugins/plugin.js';
import {
word10_list,
word2_list,
word3_list,
word4_list,
word5_list,
word6_list,
word7_list,
word8_list,
word9_list,
} from '../constants/zwa/wordlist.js';
import configControl from '../lib/config/configControl.js';
import axios from 'axios';
const path = process.cwd();
const getCurrentHour = () => new Date().getHours();
let wa = 'https://moe.jitsu.top/img';
let za = 'https://moe.jitsu.top/img';
export class ZWA extends plugin {
constructor() {
super({
name: '早中晚安',
dsc: 'zzw',
event: 'message',
priority: -1110,
rule: [
{
reg: '^(#|/)?晚上好$|^(#|/)?安$|^(#|/)?晚安$|^(#|/)?睡了$|^(#|/)?睡觉$|^(#|/)?睡咯$',
fnc: 'www',
},
{
reg: '^(#|/)?午安$|^(#|/)?中午好$',
fnc: 'wuan',
},
{
reg: '^(#|/)?早$|^(#|/)?早安$|^(#|/)?起床(了)$|^(#|/)?早上好$|^(#|/)?早上好!$|^(#|/)?早!$|^(#|/)?早啊$',
fnc: 'zzz',
},
],
});
}
async www(e) {
const currentHour = getCurrentHour();
if (currentHour >= 20 && currentHour <= 23) {
if (e.isMaster) {
let text_number = Math.ceil(Math.random() * word2_list['length']);
setTimeout(async () => {
e.reply([word2_list[text_number - 1], segment.image(wa)], true);
});
} else {
try {
const coreUrl = configControl.get(`coreConfig`)?.coreUrl;
const targetUrl = `${coreUrl}/api/words/getText`;
let response = await axios.post(targetUrl, {
type: 'MN-hello',
id: 'good-night',
});
await this.reply([response.data.data, segment.image(wa)], true);
} catch (error) {
logger.error(`[crystelf-plugin]早晚安出现错误:${error}`);
}
}
} else if (currentHour >= 0 && currentHour <= 2) {
if (e.isMaster) {
let text_number = Math.ceil(Math.random() * word2_list['length']);
setTimeout(async () => {
e.reply([word2_list[text_number - 1], segment.image(wa)], true);
});
} else {
try {
const coreUrl = configControl.get(`coreConfig`)?.coreUrl;
const targetUrl = `${coreUrl}/api/words/getText`;
let response = await axios.post(targetUrl, {
type: 'MN-hello',
id: 'good-night',
});
await this.reply([response.data.data, segment.image(wa)], true);
} catch (error) {
logger.error(`[crystelf-plugin]早晚安出现错误:${error}`);
}
}
} else if (currentHour >= 3 && currentHour < 7) {
if (e.isMaster) {
let text_number = Math.ceil(Math.random() * word7_list['length']);
setTimeout(async () => {
e.reply([word7_list[text_number - 1], segment.image(wa)], true);
});
} else {
let text_number = Math.ceil(Math.random() * word8_list['length']);
setTimeout(async () => {
e.reply([word8_list[text_number - 1]], true);
});
}
} else {
let text_number = Math.ceil(Math.random() * word9_list['length']);
setTimeout(async () => {
e.reply([word9_list[text_number - 1]], true);
});
}
}
async zzz(e) {
const currentHour = getCurrentHour();
if (currentHour >= 0 && currentHour <= 4) {
let text_number = Math.ceil(Math.random() * word4_list['length']);
setTimeout(async () => {
e.reply([word4_list[text_number - 1]], true);
});
} else if (currentHour >= 5 && currentHour <= 11) {
if (e.isMaster) {
let text_number = Math.ceil(Math.random() * word3_list['length']);
setTimeout(async () => {
e.reply([word3_list[text_number - 1], segment.image(wa)], true);
});
} else {
try {
const coreUrl = configControl.get(`coreConfig`)?.coreUrl;
const targetUrl = `${coreUrl}/api/words/getText`;
let response = await axios.post(targetUrl, {
type: 'MN-hello',
id: 'good-morning',
});
await this.reply([response.data.data, segment.image(wa)], true);
} catch (error) {
logger.error(`[crystelf-plugin]早晚安出现错误:${error}`);
}
}
} else if (currentHour >= 12 && currentHour <= 18) {
if (e.isMaster) {
let text_number = Math.ceil(Math.random() * word10_list['length']);
setTimeout(async () => {
e.reply([word10_list[text_number - 1], segment.image(wa)], true);
});
} else {
let text_number = Math.ceil(Math.random() * word5_list['length']);
setTimeout(async () => {
e.reply([word5_list[text_number - 1]], true);
});
}
} else {
let text_number = Math.ceil(Math.random() * word6_list['length']);
setTimeout(async () => {
e.reply([word6_list[text_number - 1]], true);
});
}
}
async wuan(e) {
if (e.isMaster) {
setTimeout(async () => {
e.reply(['主人中午好好休息哦', segment.image(wa)], true);
});
} else {
setTimeout(async () => {
e.reply(['睡个好觉噢', segment.image(wa)], true);
});
}
}
}

76
constants/zwa/wordlist.js Normal file
View File

@ -0,0 +1,76 @@
export const word3_list = [
' 主人早安呀!',
' 早上好,主人~',
' 主人早呀',
' 祝主人今日运气满满',
' 主人早啊',
];
export const word4_list = [
' 笨蛋!现在确实早过头了!',
' 好早...(哈欠~)',
' 这么早就起来忙了吗 强啊',
' 早什么早 起床玩原神吗!',
' 睡了吗就早早早(白眼)',
' 这么早是为了原神吧',
];
export const word10_list = [
' 笨蛋!都几点了还早早早!',
' 懒猪终于起床了呢',
' 懒虫,没救了~',
' 太阳都晒屁股了还早啊~',
' 摊上你这么懒的主人我也没办法~',
' 晚睡可不好哦~',
' 主人你昨晚通宵玩原神了吧',
];
export const word5_list = [
' 笨蛋!几点了还早',
' 原神玩多了就这样,起这么晚',
' 不早了,(玩原神玩的)',
' 你无敌了孩子',
' 太阳都晒屁股了还早啊~',
' 笨蛋笨蛋笨蛋笨蛋笨蛋!',
' 早?(都怪原神)',
];
export const word6_list = [
' 大晚上的,你是不是美国作息',
' 晚上了都,还早啊?',
' 少玩点原神,白天黑夜都分不清了',
' 你无敌了孩子',
' 6',
' 这个点说早上好,你是不是刚睡醒?昼夜颠倒了吧',
' 早?(都怪原神)',
];
export const word2_list = [' 主人安安啦', ' 主人好梦哦', ' 主人晚安', ' 晚安,主人~', ' 主人安安'];
export const word7_list = [
' 主人快点睡觉吧,很晚了哦',
' 不要通宵了主人赶紧睡觉吧',
' 笨蛋主人快点睡觉,明天又起不来了',
' 主人要猝死了,呜呜呜~~~',
' 这么晚没睡觉深夜emo了吧',
];
export const word8_list = [
' 这么晚睡觉,头发掉光光哦~',
' 大晚上的玩原神不睡觉是啊',
' 好,吃完早餐再睡觉',
' 熬夜等着秃头吧',
' 不好好睡觉的都是坏孩子',
];
export const word9_list = [
' 啊?你要这个点睡觉吗?那晚安好梦',
' 傻傻分不清白天黑夜,(玩原神导致的)',
' 大白天的,想做白日梦吗',
' 笨呐~~',
' 睡这么早吗,晚安咯~',
' 通宵可不好哦',
' 这个点睡觉吗,那晚安',
' 晚安?现在?',
' 现在是白天哦,昨晚是不是没睡觉啊',
];