PHPackages                             pixelbrackets/has\_yet - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pixelbrackets/has\_yet

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

pixelbrackets/has\_yet
======================

Has … yet? Script to set up a Twitter bot tweeting answers to important questions like “Has something happend yet?”

1.0.0(8y ago)1398GPL-2.0-or-laterPHP

Since Dec 10Pushed 6y ago1 watchersCompare

[ Source](https://github.com/pixelbrackets/has_yet)[ Packagist](https://packagist.org/packages/pixelbrackets/has_yet)[ RSS](/packages/pixelbrackets-has-yet/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (4)Used By (0)

Has … yet?
==========

[](#has--yet)

[![Packagist](https://camo.githubusercontent.com/deeaacda29309f0378f079a828914bfa750f59028ea2216f30d9a31ab9229929/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f706978656c627261636b6574732f6861735f7965742e737667)](https://packagist.org/packages/pixelbrackets/has_yet/)[![Twitter](https://camo.githubusercontent.com/61f1981b2af954fd0ac6b80b26736ff4af7347e408841c4424c7a0a66b5c1f62/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c2f687474702f736869656c64732e696f2e7376673f7374796c653d736f6369616c266c6f676f3d74776974746572)](https://twitter.com/has___yet)

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:

- 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:

- [https://twitter.com/has\_\_\_yet](https://twitter.com/has___yet)

Requirements
------------

[](#requirements)

- Twitter API Key
- PHP
- Composer
- Cronjob

Usage
-----

[](#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.

It is possible set up multiple accounts.

Installation
------------

[](#installation)

**Set up the script**

1. Use composer to install the script and all dependencies
    - `composer create-project pixelbrackets/has_yet`
2. Copy the [configuration example file](./configuration.json.example) 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)
3. Protect the whole folder from public access (eg. with a [htaccess file](./.htaccess.example)or move the directory outside of the document root)!

**Set up a Twitter account**

1. Register a Twitter account (that was obvious, wasn't it?)
2. 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
3. Go to  to create/register the Twitter App
4. Click “Create New App” Button
5. Create an application (Name, Description, Website etc.)
6. Change “Permissions” to “Read &amp; Write”
7. Generate an Access Token on the “Keys and Access Tokens” tab
8. Copy API Key, API Secret, Access Token, Access Token Secret into the configuration file

**Set up a cronjob**

1. 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 (). Consider this if you want to frequently post the same status message. It appears that a 24 hour time range is sufficient.
2. 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
------

[](#source)

[https://github.com/pixelbrackets/has\_yet/](https://github.com/pixelbrackets/has_yet/)

Documentation
-------------

[](#documentation)

Read online (HTML) [https://github.com/pixelbrackets/has\_yet/blob/master/README.md](https://github.com/pixelbrackets/has_yet/blob/master/README.md)

License
-------

[](#license)

GNU General Public License version 2 or later

The GNU General Public License can be found at .

Author
------

[](#author)

Dan Untenzu ( / [@pixelbrackets](https://github.com/pixelbrackets))

Changelog
---------

[](#changelog)

See [./CHANGELOG.md](CHANGELOG.md)

Contribution
------------

[](#contribution)

This script is Open Source, so please use, patch, extend or fork it.

###  Health Score

30

—

LowBetter than 62% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~588 days

Total

3

Last Release

3047d ago

Major Versions

0.2.0 → 1.0.02018-02-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/3ca67c6c7d79cf33bb5688dcbf217ad52309a52580b6a490aae8445f446178a3?d=identicon)[pixelbrackets](/maintainers/pixelbrackets)

---

Top Contributors

[![pixelbrackets](https://avatars.githubusercontent.com/u/1592995?v=4)](https://github.com/pixelbrackets "pixelbrackets (21 commits)")

---

Tags

botcronphptwittertwitter-bot

### Embed Badge

![Health badge](/badges/pixelbrackets-has-yet/health.svg)

```
[![Health](https://phpackages.com/badges/pixelbrackets-has-yet/health.svg)](https://phpackages.com/packages/pixelbrackets-has-yet)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
