完成插件自动启动功能
This commit is contained in:
parent
dcb617f43d
commit
aa6e39ffe4
2
.gitignore
vendored
2
.gitignore
vendored
@ -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
0
plugins/.gitkeep
Normal 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}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
15
src/Main.ts
15
src/Main.ts
@ -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();
|
||||||
|
@ -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}`)
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user