Posts Tagged ‘php’

Group Twitterbot is broken. :-(

// May 11th, 2009 // No Comments » // Online Tools, Software

Twitter updated how direct messages are emailed, so my Group Twitterbot code is now broken. I’m hopefully going to be able to work on it this week. I’m planning on fixed this problem and set it up so it’s more stand alone, you’ll be able to use it anywhere you can have a php based web page.

Group Twitter bot

// January 16th, 2009 // 4 Comments » // 21st Century Skills, Online Tools, Software

Chris Hamady had the idea that at the eTech Ohio State Technology Conference we should be able to use Twitter to communicate great things that individuals see throughout the conference. It needed to be set up easy enough for people that have not been using Twitter to use. After discussions with John Schinker, they contacted me and I came up with the idea of a twitter bot that people would follow, and direct messages to that bot would be sent to all the bot’s followers. This way most people can just follow the bot and get updates, and those that wanted to send out an update would only need to send a direct message to the bot with the update.

The way the bot works is off of the emails that Twitter sends out when a Twitter account receives a notification of a new follower or a direct message. The requirements for the bot are:
• A twitter account (in this case it is etechohio09)
• An email account with POP3 access (in this case a gmail account is used. This email account address needs to be secret because there isn’t any checking on the validity of where an email came from so this would allow people without even a Twitter account to spam the bot)
• a unix based host with php at the command line (I use Ubuntu, but it should work in OS X)
• fetchmail also needs to be available

The process to set up the bot is as follows:
1. An email account is set up at gmail. This account must of pop3 turned on, which you can do from the gmail settings.
2. Create a Twitter account, using the above email account. In Twitter be sure to go to Settings -> Notices and have the notices for followers and direct messages checked.
3. Set up an account on the unix host for the bot.
4. Login to the account on the unix host.
5. Create the .fetchmailrc:

     nano -w .fetchmailrc

6. Enter the following lines to that file:

     set logfile /home/UNIXACCOUNT/fetchmail.log
     poll "pop.gmail.com" proto POP3 timeout 100 no uidl
     no envelope user "BOTACCOUNT@gmail.com"
     password "BOTPASSWORD" fetchlimit 100 ssl

7. Create the logfile:

     touch fetchmail.log

8. Create the .forward file:

     nano -w .forward

9. Enter the following line:

     |"/home/UNIXACCOUNT/twitterbot.php"

10. Download twitterbot.php, and make it executable:

     chmod +x twitterbot.php

11. Edit twitterbot.php and enter your Twitter username and password:

     nano twitterbot.php

12. Start up fetchmail in daemon mode and your bot should be functional.

     fetchmail -d 60

What will happen is that fetchmail will check the email account every 60 seconds. Any email will be downloaded and each message passed to twitterbot.php. twitterbot.php will examing the headers for the twitter command and then act accordingly. If it is a new follower, twitterbot will start following that person. If it is a direct message, twitterbot will then post that message to the bot’s timeline for all its followers to read.

The email class used for this twitterbot came from phpclasses.org, modified to pull out a few of the X-headers that Twitter adds so the bot can figure out the type of message and who is sending it.

Powered by Web Design Company Plugins