//const appservicePort = 9000; const roomId = '!MQClELEJFefiUVmsNw:imninja.net'; //const http = require('http'); const Cli = require('matrix-appservice-bridge').Cli; const Bridge = require('matrix-appservice-bridge').Bridge; const AppServiceRegistration = require('matrix-appservice-bridge').AppServiceRegistration; const StateLookup = require('matrix-appservice-bridge').StateLookup; let bridge; let feedtracker; //http.createServer((request, response) => { // console.log('http online'); //}).listen(appservicePort); const getFeeds = (client) => { }; new Cli({ registrationPath: 'registration.yaml', generateRegistration: (reg, callback) => { reg.setId(AppServiceRegistration.generateToken()); reg.setHomeserverToken(AppServiceRegistration.generateToken()); reg.setAppServiceToken(AppServiceRegistration.generateToken()); reg.setSenderLocalpart('_rss'); reg.addRegexPattern('users', '@_rss_.*', true); callback(reg); }, bridgeConfig: { schema: 'config.schema.yaml' }, run: (port, config) => { bridge = new Bridge({ homeserverUrl: config.homeserver, domain: config.domain, registration: config.registration, controller: { onUserQuery: (queriedUser) => { return {}; }, onEvent: (request, context) => { const event = request.getData(); // event.content.keywords etc. if(event.type !== 'de.lubiland.feedrsser.config') { return; } feedtracker.onEvent(event); } } }); bridge.run(port, config); feedtracker = new StateLookup({ client: bridge.getIntent('@_rss_test0r:imninja.net').client, eventTypes: ['de.lubiland.feedrsser.config'] }); feedtracker.trackRoom(roomId).then(() => { const asef = feedtracker.getState(roomId, 'de.lubiland.feedrsser.config'); }); //bridge.getIntent('@_rss_test0r:imninja.net').sendText(roomId, 'asef :)'); } }).run();