Wachalarm-IP-Web/server/twitter.js
2020-03-12 14:31:01 +01:00

64 lines
2.3 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
var T = new twit({
consumer_key: twitter_data.tw_consumer_key,
consumer_secret: twitter_data.tw_consumer_secret,
access_token_key: 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);
//Do something
var msg_params = {type: "message_create", message_create: {target: {recipient_id: members.users[i].id}, message_data: {text: "Hello World!"}}};
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
};
};