- Using OAuth Library by Matt Harris: https://github.com/themattharris/tmhOAuth
- Running via CLI PHP
- Design an application to use Matt Harris' library as a function to auto tweet events based on existing conditions
Usage
Current Functionality
- Using MidsouthMakersDev Twitter account
- Able to be run from the command line to post static tweets.
- Able to be run from a url to post static tweets.
- Checks pending table and checks if their post date < current time
- Cron running every 30 minutes to post any pending
To Be Done
Need to handle adding to pending table
Need to handle adding to history
Need to handle Remove from pending
Cron local system to test for pending tweets
- Testing
Need to provide fallback if no $post_date supplied.
- Need to ensure response code making it back to user
- Need to add warning if $content > 160 characters OR Blank.
- Perhaps ability for source to query their tweets based on history/pending?\
Need ensure $content is not NULL in addpending() Solved by checking if $content = before addpending()
- Log post attempts? Check error codes so we're not hammering away at twitter
Goals
- Take input from multiple sources
- Reliably validate source of all incoming data
- Use access list or secret hash to prevent abuse
Database Schema
CREATE TABLE IF NOT EXISTS `pending` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`content` varchar(160) NOT NULL,
`post_date` datetime NOT NULL,
`added` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`source` varchar(255) NOT NULL,
`attempts` int(1) NOT NULL,
`last_error_code` int(3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE IF NOT EXISTS `history` (
`id` int(6) NOT NULL AUTO_INCREMENT,
`content` varchar(160) NOT NULL,
`post_date` date NOT NULL,
`added` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`source` varchar(255) NOT NULL,
`response_code` int(4) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
CREATE TABLE IF NOT EXISTS `secrets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`source` varchar(255) NOT NULL,
`secret` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;