Files
peertube-plugin-auto-import…/src/main.ts

64 lines
1.4 KiB
TypeScript

import { ManageListener } from 'listener-rss-agregator';
let myManager : ManageListener;
let bindistenerChannelId: {[key: string] : string} = {};
import * as path from 'path';
async function register({
registerSetting,
settingsManager,
peertubeHelpers,
}: any) {
registerSetting({
name: 'ytb-urls',
label: 'liste des urls youtube a auto-importer',
type: 'input-textarea'
})
const basePath = peertubeHelpers.plugin.getDataDirectoryPath();
myManager = new ManageListener(path.join(basePath, '/data/storage.bd'));
const inputs = await settingsManager.getSetting('ytb-urls');
addListeners(inputs);
settingsManager.onSettingsChange((settings: any) => {
myManager.stopAll();
myManager.save();
addListeners(settings['ytb-urls']);
})
myManager.on('update', (entries: any) => {
// for (const item in entries.items)
// console.info(item.)
})
}
function addListeners(listenerInput: any) {
for (const line in listenerInput.split('\n'))
if (!myManager.listenerArray.map((it: any) => it.address).includes(line)) // si ligne non présente
{
let splitted = line.split(':');
bindistenerChannelId[splitted[1]] = splitted[0];
myManager.registerListener({ address: splitted[0] });
}
myManager.save();
myManager.startAll();
}
async function unregister() {
myManager.stopAll();
myManager.save();
return
}
module.exports = {
register,
unregister
}