mirror of
https://github.com/ctrlcvs/xiaoyao-cvs-plugin.git
synced 2024-12-23 11:40:51 +08:00
77 lines
1.7 KiB
JavaScript
77 lines
1.7 KiB
JavaScript
import _ from 'lodash';
|
|
|
|
export async function sleepAsync(sleepms) {
|
|
return new Promise((resolve, reject) => {
|
|
setTimeout(() => {
|
|
resolve();
|
|
}, sleepms)
|
|
});
|
|
}
|
|
|
|
|
|
export async function randomSleepAsync() {
|
|
let sleep = 2 * 1000 + _.random(3 * 1000);
|
|
await sleepAsync(sleep);
|
|
}
|
|
|
|
export function randomString(length) {
|
|
let randomStr = '';
|
|
for (let i = 0; i < length; i++) {
|
|
randomStr += _.sample('abcdefghijklmnopqrstuvwxyz0123456789');
|
|
}
|
|
return randomStr;
|
|
}
|
|
/**
|
|
* 发送私聊消息,仅给好友发送
|
|
* @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)
|
|
})
|
|
}
|
|
}
|
|
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
|
|
})
|
|
}
|
|
e._reply(await Bot.makeForwardMsg(msgList));
|
|
}
|
|
export async function getCookieMap(cookie) {
|
|
let cookiePattern = /^(\S+)=(\S+)$/;
|
|
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]);
|
|
}
|
|
return cookieMap||{};
|
|
}
|
|
export default {
|
|
sleepAsync,
|
|
randomSleepAsync,
|
|
replyMake,
|
|
randomString,
|
|
relpyPrivate,
|
|
getCookieMap
|
|
}
|