Wachalarm-IP-Web/server/broker.js
2020-05-24 17:01:01 +02:00

65 lines
2.6 KiB
JavaScript
Executable File

module.exports = function(twit, uuidv4, app_cfg) {
function alert_twitter_list(twitter_data, callback) {
// tw.tw_screen_name, tw_consumer_key, tw.tw_consumer_secret, tw.tw_access_token_key, tw.tw_access_token_secret, we.uuid, we.einsatzart, wa.name_wache
console.log('twitter_data'+JSON.stringify(twitter_data));
var T = new twit({
consumer_key: twitter_data.tw_consumer_key,
consumer_secret: twitter_data.tw_consumer_secret,
access_token: twitter_data.tw_access_token_key,
access_token_secret: twitter_data.tw_access_token_secret//,
//timeout_ms: 60*1000, // optional HTTP request timeout to apply to all requests.
//strictSSL: true, // optional - requires SSL certificates to be valid.
})
var params = {screen_name: twitter_data.tw_screen_name};
T.get('lists/list', params, function(error, lists, response) {
if (!error) {
var list_obj = lists.filter(function(o){return o.name == twitter_data.list;} );
//console.log(JSON.stringify(list_obj));
console.log(list_obj[0].id_str);
var member_params = {list_id: list_obj[0].id_str, count: 50};
T.get('lists/members', member_params, function(error, members, response) {
if (!error) {
console.log(JSON.stringify(members));
var arrayLength = members.users.length;
for (var i = 0; i < arrayLength; i++) {
console.log(members.users[i].screen_name);
var tw_text = 'Neuer Einsatz für ' + twitter_data.name_wache +', bitte um Rückmeldung: https://wachalarm.info.tm/rmld/'+twitter_data.uuid+'/'+uuidv4();
//Do something
var msg_params = {event: {type: "message_create", message_create: {target: {recipient_id: members.users[i].id}, message_data: {text: tw_text}}}};
T.post('direct_messages/events/new', msg_params, function(error, members, response) {
if (!error) {
console.log('OK');
callback && callback(members);
} else {
console.log(error);
callback && callback(null);
};
});
};
} else {
console.log(error);
callback && callback(null);
};
});
} else {
console.log(error);
callback && callback(null);
};
});
};
return {
alert_twitter_list: alert_twitter_list
};
};