2
0
mirror of https://github.com/ctrlcvs/xiaoyao-cvs-plugin.git synced 2024-12-23 11:40:51 +08:00
xiaoyao-cvs-plugin/model/mys/utils.js

98 lines
2.2 KiB
JavaScript
Raw Normal View History

2022-07-29 01:42:35 +08:00
import _ from 'lodash';
export async function sleepAsync(sleepms) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, sleepms)
});
}
2022-10-12 16:51:51 +08:00
export async function randomSleepAsync(end) {
let sleep = 3 * 1000 + _.random((end||5) * 1000);
2022-07-29 01:42:35 +08:00
await sleepAsync(sleep);
}
2022-10-12 16:51:51 +08:00
export function randomString(length,os=false) {
let randomStr = '';
for (let i = 0; i < length; i++) {
2022-10-12 16:51:51 +08:00
randomStr += _.sample(os?'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz':'abcdefghijklmnopqrstuvwxyz0123456789');
}
return randomStr;
2022-07-29 01:42:35 +08:00
}
/**
* 发送私聊消息仅给好友发送
* @param user_id qq号
* @param msg 消息
*/
export async function relpyPrivate(userId, msg) {
userId = Number(userId)
let friend = Bot.fl.get(userId)
if (friend) {
Bot.logger.mark(`发送好友消息[${friend.nickname}](${userId})`)
return await Bot.pickUser(userId).sendMsg(msg).catch((err) => {
Bot.logger.mark(err)
})
}
2022-08-01 23:13:34 +08:00
}
export async function replyMake(e, _msg, lenght) {
let nickname = Bot.nickname;
if (e.isGroup) {
let info = await Bot.getGroupMemberInfo(e.group_id, Bot.uin)
nickname = info.card || info.nickname
}
let msgList = [];
for (let [index, item] of Object.entries(_msg)) {
if (index < lenght) {
continue;
}
msgList.push({
message: item,
nickname: nickname,
user_id: Bot.uin
})
}
if(e._reply){
e._reply(await Bot.makeForwardMsg(msgList));
}else {
e.reply(await Bot.makeForwardMsg(msgList));
}
}
2022-10-06 14:10:50 +08:00
export function getServer (uid) {
switch (String(uid)[0]) {
case '1':
case '2':
return 'cn_gf01' // 官服
case '5':
return 'cn_qd01' // B服
case '6':
return 'os_usa' // 美服
case '7':
return 'os_euro' // 欧服
case '8':
return 'os_asia' // 亚服
case '9':
return 'os_cht' // 港澳台服
}
return 'cn_gf01'
}
export async function getCookieMap(cookie) {
let cookieArray = cookie.replace(/\s*/g, "").split(";");
let cookieMap = new Map();
for (let item of cookieArray) {
let entry = item.split("=");
if (!entry[0]) continue;
cookieMap.set(entry[0], entry[1]);
}
2022-09-06 23:09:04 +08:00
return cookieMap||{};
}
2022-07-29 01:42:35 +08:00
export default {
2022-10-06 14:10:50 +08:00
sleepAsync,getServer,
randomSleepAsync,
replyMake,
randomString,
relpyPrivate,
getCookieMap
2022-07-29 01:42:35 +08:00
}