Has … yet?
, (*1)
Has something happend yet? This is a small script to set up one of those
Twitter bot accounts which automatically tweet answers to important questions like:, (*2)
- Has invisibility been invented yet?
- Has [sports team] won/lose yet?
- Has [shady polititian] resigned yet?
- Has the world ended yet?
Example twitter bot using this repository:, (*3)
- https://twitter.com/has___yet
Requirements
- Twitter API Key
- PHP
- Composer
- Cronjob
Usage
The PHP script should be executed with a cronjob. It then reads a JSON file
consisting of default messages and messages for special dates. One message is
selected and then pushed to a given Twitter account., (*4)
It is possible set up multiple accounts., (*5)
Installation
Set up the script, (*6)
- Use composer to install the script and all dependencies
composer create-project pixelbrackets/has_yet
- Copy the configuration example file and
rename it to
configuration.json
- The example configuration should be self-explaining, you may define
custom messages for special days and/or one or more default messages
- A status message may consist of a text and an image
- The optional image may be a local filename or a URL (http/https supported)
- Protect the whole folder from public access (eg. with a htaccess file
or move the directory outside of the document root)!
Set up a Twitter account, (*7)
- Register a Twitter account (that was obvious, wasn't it?)
- Register an app for this account
- The advantage of this move is that you won't need to set up an OAuth Login,
since Twitter offers to generate an Access Token for the own account
- Go to https://apps.twitter.com/ to create/register the Twitter App
- Click “Create New App” Button
- Create an application (Name, Description, Website etc.)
- Change “Permissions” to “Read & Write”
- Generate an Access Token on the “Keys and Access Tokens” tab
- Copy API Key, API Secret, Access Token, Access Token Secret into the
configuration file
Set up a cronjob, (*8)
- Set up a cronjob which points to the
cron.php file
- eg.
0 10 * * * php /path/to/cron.php
- You may choose any interval, but be aware that Twitter has a mechanism to
detect duplicate tweets (https://twittercommunity.com/t/duplicate-tweets/13264).
Consider this if you want to frequently post the same status message.
It appears that a 24 hour time range is sufficient.
- If you want to set up multiple accounts or use varying messages, then rename
the JSON configuration file and pass the filename as argument
- eg.
johndoe.json and php /path/to/cron.php johndoe
Source
https://github.com/pixelbrackets/has_yet/, (*9)
Documentation
Read online (HTML) https://github.com/pixelbrackets/has_yet/blob/master/README.md, (*10)
License
GNU General Public License version 2 or later, (*11)
The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html., (*12)
Author
Dan Untenzu (mail@pixelbrackets.de / @pixelbrackets), (*13)
Changelog
See ./CHANGELOG.md, (*14)
Contribution
This script is Open Source, so please use, patch, extend or fork it., (*15)