This IronPython application is intended to allow twitter conversations to be stored.
The application starts with a list of twitter accounts and how to monitor them. A (tab delimited) monitor file might be:
twitterAccountOne all #Sent, retweets, reteeted-by, mentions (@) and direct message.
twitterAccountTwo sent #Sent from this account only
twitterAccountThree sent,mentions
twitterAccountFour sent
Please note the ‘all’ option will only be available for the account the application is using to authenticate.
For each tweet the application picks up, a call will be made to a python function along these lines:
recordTweet(tweetAccount, tweetID, tweetType, refAccount, tweetTimeDate, tweetContent, tweetURL…
where
tweetAccount is the twitter account from the monitor file (created_at).
tweetID is the unique identifier (id).
tweetType is a text parameter ‘sent’, ‘retweet’, reteeted-by, ‘mention’ or, ‘dm’.
refAccount is used for mentions, dm and retweeted-by
tweetTimeDate date and time created (created_at)
tweetText is the tweeted text.
tweetURL is the embedded URL if present.
The above parameters are a guide and you may vary them if you wish.
This function should write the data to a single text file from the above function. Later this will write to another repository but for the purpose of testing a text file will be sufficient. A new text file is created for each run of the application.
If the Twitter API limit has been reached, an error needs reported to a log e.g. the application log on windows. API limit management is not a requirement for this version.
It is anticipated that the application is run at least daily. A parameter will specify how far back the application should scan for tweets.
The requirement is to create an IronPython script to deliver the above requirements.
Please use publicly available twitter libraries with no licensing fees.
An optional requirement is to produce a C Python script to produce the above.
The script is required by Friday 20 May. Sorry for the limited time.
Thank you for your interest and please reply if you have any questions.