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 }