完成插件自动启动功能

This commit is contained in:
xys20071111 2022-11-03 20:12:03 +08:00
parent dcb617f43d
commit aa6e39ffe4
No known key found for this signature in database
GPG Key ID: 29CB7FFE349CFD03
5 changed files with 20 additions and 5 deletions

2
.gitignore vendored
View File

@ -1,5 +1,7 @@
config/* config/*
log/* log/*
plugins/*
!plugins/.gitkeep
!config/.gitkeep !config/.gitkeep
!log/.gitkeep !log/.gitkeep
dist dist

0
plugins/.gitkeep Normal file
View File

View File

@ -98,7 +98,7 @@ export class DanmakuReceiver extends EventEmitter {
// 心跳包,不做处理 // 心跳包,不做处理
break; break;
case DANMAKU_TYPE.AUTH_REPLY: case DANMAKU_TYPE.AUTH_REPLY:
printLog("通过认证"); printLog('弹幕接收器' ,"通过认证");
// 认证通过每30秒发一次心跳包 // 认证通过每30秒发一次心跳包
setInterval(() => { setInterval(() => {
const heartbeatPayload = "陈睿你妈死了"; const heartbeatPayload = "陈睿你妈死了";
@ -134,7 +134,7 @@ export class DanmakuReceiver extends EventEmitter {
} }
break; break;
default: default:
printLog("什么鬼,没见过这种包"); printLog('弹幕接收器', `未知的弹幕数据包种类 ${packetType}`);
} }
} }
} }

View File

@ -3,9 +3,21 @@ import { DanmakuReceiver } from './DanmakuReceiver.ts';
import { onGraud, onLiveEnd, onLiveStart, onSuperChat, onTotalGift, receiveDanmaku, receiveGift } from './DanmakuCallbacks.ts'; import { onGraud, onLiveEnd, onLiveStart, onSuperChat, onTotalGift, receiveDanmaku, receiveGift } from './DanmakuCallbacks.ts';
import { printLog } from './utils/mod.ts'; import { printLog } from './utils/mod.ts';
async function launchAllPlugins() {
const pluginsList = await Deno.readDir('./plugins')
for await (const plugin of pluginsList) {
if (plugin.name === '.gitkeep') {
continue
}
Deno.run({
cmd: [`./plugins/${plugin.name}/${plugin.name}`, `./plugins/${plugin.name}/config.json`]
})
}
}
const danmakuReceiver = new DanmakuReceiver(config.room_id); const danmakuReceiver = new DanmakuReceiver(config.room_id);
danmakuReceiver.on('connected', () => { danmakuReceiver.on('connected', () => {
printLog('连接成功'); printLog('主程序', '连接成功');
}); });
danmakuReceiver.on('closed', () => danmakuReceiver.connect()); danmakuReceiver.on('closed', () => danmakuReceiver.connect());
@ -17,4 +29,5 @@ danmakuReceiver.on('COMBO_SEND', onTotalGift);
danmakuReceiver.on('GUARD_BUY', onGraud); danmakuReceiver.on('GUARD_BUY', onGraud);
danmakuReceiver.on('SUPER_CHAT_MESSAGE', onSuperChat); danmakuReceiver.on('SUPER_CHAT_MESSAGE', onSuperChat);
launchAllPlugins()
danmakuReceiver.connect(); danmakuReceiver.connect();

View File

@ -1,4 +1,4 @@
import { getTimeString } from './GetTimeString.ts' import { getTimeString } from './GetTimeString.ts'
export function printLog(msg: unknown) { export function printLog(type: string, msg: unknown) {
console.log(`[${getTimeString()}] ${msg}`) console.log(`[${type}][${getTimeString()}] ${msg}`)
} }