UNPKG

el-bot

Version:

A quick qq bot framework for mirai.

67 lines (60 loc) 1.29 kB
import type { MessageType } from 'mirai-ts' /** * 判断是否为 URL 链接 * @param url */ export function isUrl(url: string) { return /^https?:\/\/.+/.test(url) } /** * 内部模式 */ export class InnerMode { msg: MessageType.ChatMessage | undefined friendSet = new Set() groupSet = new Set() constructor(msg?: MessageType.ChatMessage) { if (msg) this.msg = msg } setMsg(msg: MessageType.ChatMessage) { this.msg = msg } /** * 进入 */ enter() { const msg = this.msg if (!msg) return if (msg.type === 'FriendMessage') this.friendSet.add(msg.sender.id) else if (msg.type === 'GroupMessage') this.groupSet.add(msg.sender.group.id) } /** * 当前状态 * 是否已进入内部 */ getStatus() { const msg = this.msg if (!msg) return if (msg.type === 'FriendMessage') return this.friendSet.has(msg.sender.id) else if (msg.type === 'GroupMessage') return this.groupSet.has(msg.sender.group.id) } /** * 退出 */ exit() { const msg = this.msg if (!msg) return if (msg.type === 'FriendMessage') this.friendSet.delete(msg.sender.id) else if (msg.type === 'GroupMessage') this.groupSet.delete(msg.sender.group.id) } }