Miao-Yunzai/lib/bot.js

46 lines
1.0 KiB
JavaScript

import './config/init.js'
import ListenerLoader from './listener/loader.js'
import cfg from './config/config.js'
let Client
try {
Client = (await import('@icqqjs/icqq')).Client
} catch (err) {
Client = (await import('icqq')).Client
}
export default class Yunzai extends Client {
// eslint-disable-next-line no-useless-constructor
constructor (conf) {
super(conf)
}
/** 登录机器人 */
static async run () {
const bot = new Yunzai(cfg.bot)
/** 加载监听事件 */
await ListenerLoader.load(bot)
/** 跳过登录 */
if (cfg.bot.skip_login) return await this.skip_login(bot)
/** 正常的登录 */
await bot.login(cfg.qq, cfg.pwd)
bot[bot.uin] = bot
/** 全局变量 bot */
global.Bot = bot
return bot
}
/** 跳过登录ICQQ */
static async skip_login (bot) {
bot.uin = 88888
bot[bot.uin] = bot
/** 全局变量 bot */
global.Bot = bot
/** 加载插件 */
return await ((await import('../lib/plugins/loader.js')).default).load()
}
}