Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/freaktechnik/twitchbots
A directory of Twitch chat bot accounts
https://github.com/freaktechnik/twitchbots
bot directory mysql pdo php slim twitch
Last synced: 10 days ago
JSON representation
A directory of Twitch chat bot accounts
- Host: GitHub
- URL: https://github.com/freaktechnik/twitchbots
- Owner: freaktechnik
- License: mit
- Created: 2015-11-20T03:07:43.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2023-04-06T16:26:24.000Z (over 1 year ago)
- Last Synced: 2024-04-09T21:58:28.066Z (7 months ago)
- Topics: bot, directory, mysql, pdo, php, slim, twitch
- Language: PHP
- Homepage: https://twitchbots.info
- Size: 1.69 MB
- Stars: 9
- Watchers: 4
- Forks: 2
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ![](public/favicon.png) Twitch Bot Directory
[![Build Status](https://travis-ci.com/freaktechnik/twitchbots.svg?branch=master)](https://travis-ci.com/freaktechnik/twitchbots) [![codecov](https://codecov.io/gh/freaktechnik/twitchbots/branch/master/graph/badge.svg)](https://codecov.io/gh/freaktechnik/twitchbots)
A directory of Twitch chat bot accounts.
This is the code used for [twitchbots.info](https://twitchbots.info).
Thanks to [Mini2](https://github.com/panique/mini2) for the great base template.
## License
The code in this repo is licensed under the MIT license.
## Used APIs
Thanks to the following APIs, the service can try to curate the list as best as it can on its own:
- [Twitch API](https://github.com/justintv/Twitch-API)
- [3v.fi Twitch Mod Check API](https://t.3v.fi/modlookup/docs)
- FrankerFaceZ bots list
- BetterTTV channel bots listSee [Configuration](#configuration) for details on required credentials for the respective APIs.
## Set up
### Database
The SQL table layout is currently not public, but can be
reverse-engineered from the code (look at the unit tests setup.php, or sometimes
as a comment in the table wrapper class).### PHP Dependencies
To install all the dependencies get [Composer](https://getcomposer.org/download)
and then run `composer install` or `php composer.phar install`, depending on how
you installed it. This will then download all the deps and set them up.### Cron Job
It is recommended to set up a cron job that runs `php Mini/console.php check`
every so often. The job removes any bots whose account has since been deleted on
twitch. You can also split it out to make fewer API requests in one job.### Configuration
There are two configurations: one is a config.php in a folder called "lib" in the
root of the project and contains all configuration needed before the DB connection
is established. Almost all values defined by it can be found in the index.php files.Then there is the config table, which holds key/value pairs for configuration.
You should manually set the following:- 28_URL: URL to crawl for ModBot.
- checks_per_day: Number of bot pruning runs per day. Needs to be at least 1,
recommended are at least one per hour.
- client-ID: [Twitch Client-ID](https://dev.twitch.tv/docs#client-id)
- client-secret: Twitch client secret
- 3v-ua: User Agent for the Mod Checker API
- auth0_domain, auth0_redirectUrl, auth0_clientId, auth0_clientSecret: auth0 configuration### Pitfalls
#### Crawlers
All TypeCrawlers currently rely on the type ID. This means your DeepBots have to
have id 22, ModBots 28 and Pajbots 44. I hope to fix this in the future.### Run tests
After installing Composer you can run the unit tests:
```bash
php vendor/bin/phpunit --bootstrap vendor/autload.php test
```You might want to customize the `phpunit.xml` to match the database credentials
of your system. The unit tests expect a database called `twitchbots`.## Contributors
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
| [
Martin Giger](https://humanoids.be)
[💻](https://github.com/freaktechnik/twitchbots/commits?author=freaktechnik "Code") [🐛](https://github.com/freaktechnik/twitchbots/issues?q=author%3Afreaktechnik "Bug reports") [🚇](#infra-freaktechnik "Infrastructure (Hosting, Build-Tools, etc)") [📖](https://github.com/freaktechnik/twitchbots/commits?author=freaktechnik "Documentation") [💡](#example-freaktechnik "Examples") | [
nD00rn](https://github.com/nD00rn)
[📖](https://github.com/freaktechnik/twitchbots/commits?author=nD00rn "Documentation") | [
Luis Muñiz](https://www.linkedin.com/in/luismuniz1)
[🎨](#design-luism03 "Design") | [
CBenni](https://github.com/CBenni)
[🤔](#ideas-CBenni "Ideas, Planning, & Feedback") |
| :---: | :---: | :---: | :---: |This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!