You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.2 KiB
JavaScript
70 lines
2.2 KiB
JavaScript
//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(); |