Tyescripted the project and correctly made the package.json file
This commit is contained in:
63
src/main.ts
Normal file
63
src/main.ts
Normal file
@ -0,0 +1,63 @@
|
||||
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
|
||||
}
|
Reference in New Issue
Block a user