Added basic tweet component parsing, along with Twit error checking.

master
kts 2015-05-18 16:10:43 -07:00
parent 5dd333285d
commit fe63c29c30
1 changed files with 61 additions and 10 deletions

View File

@ -12,6 +12,33 @@ Tweet Transaction example:
a: You take the painting.
b: @TwittMUD south
a: You are on a balcony overlooking the ocean. There is a lighthouse. There are exits: north
--------------------------------------------------------------------------------
How does the game world structure look?
Room-oriented:
start {
things: {
0: 'candle',
1: 'thing'
},
exits: {
'e': 'eastern_plaza'
},
locations: {
'lighthouse': {
distance: 0,
direction: 'w',
location: 'plateu'
}
'beach'
},
users: {
0: '123435388',
1: '123444441'
}
}
*/
var Twit = require('twit');
var fs = require('fs');
@ -31,12 +58,17 @@ var gogogo = function() {
console.log(e);
return 1;
}
client = new Twit({
consumer_key: config.consumer_key,
consumer_secret: config.consumer_secret,
access_token: config.access_token,
access_token_secret: config.access_token_secret
});
try {
client = new Twit({
consumer_key: config.consumer_key,
consumer_secret: config.consumer_secret,
access_token: config.access_token,
access_token_secret: config.access_token_secret
});
} catch(e) {
console.log(e);
return 2;
}
stream = client.stream('user', {with: 'user'});
stream.on('follow', handleFollow);
stream.on('unfollow', handleUnfollow);
@ -45,13 +77,32 @@ var gogogo = function() {
};
/* ================ Handler Functions (events, tweets, etc.) ================ */
/* handleTweet
Called on each tweet to this Twitter account.
Called on each tweet to this Twitter account. After some checks to ensure the tweet is intended for TwittMUD and is a command, it calls handleCommand, passing the contents of the message, who it was from, the desired lang, and the reply_id if it exists.
*/
var handleTweet = function(tweet) {
vol.last_tweet_id = tweet.id;
var from = tweet.user.id;
var id = tweet.id;
var id_str = tweet.id_str;
var reply_id = tweet.in_reply_to_status_id;
var text = tweet.text;
var lang = tweet.lang;
//vol.last_tweet_id = tweet.id;
// does the response match
var user = tweet.text.split
console.log(tweet);
var exp = /^@(.*)\ (.*)/
var res = exp.exec(text);
var to = res[1];
var msg = res[2];
// Conditions for handling messages as commands:
// 2. does the user follow us? (is in followers)
// * is the user active? (is in active users list)
// 3. is it a reply?
// *
// 4. Is the message parsable as a command?
// 1. is the message to us? (@TwittMUD)
var user = 'TwittMUD'; // TODO: replace with config.user_name
if (to.toLowerCase().indexOf(user.toLowerCase()) != -1) {
}
console.log(from + '=>' + to + ': ' + msg);
return true;
};
/* handleFollow