ghostzero / tmi
PHP Twitch Messaging Interface
Installs: 6 970
Dependents: 2
Suggesters: 0
Security: 0
Stars: 24
Watchers: 4
Forks: 8
Open Issues: 1
Requires
- php: ^7.4|^8.0
- ext-json: *
- ext-mbstring: *
- react/socket: ^1.6
Requires (Dev)
- phpunit/phpunit: ^9.3.3
This package is auto-updated.
Last update: 2024-12-22 13:14:03 UTC
README
Introduction
Inspired by tmi.js and php-irc-client this package is a full featured, high performance Twitch IRC client written in PHP 7.4.
Also have a look at ghostzero/tmi-cluster. TMI Cluster is a Laravel package that makes the PHP TMI client scalable.
Features
- Connecting to Twitch IRC with SSL
- Generic IRC Commands
- Supports Twitch IRC Tags (IRC v3)
- Supports Twitch IRC Membership
- Supports Twitch IRC Commands
Official Documentation
You can view our official documentation here.
Getting Started (w/o OAuth Token)
use GhostZero\Tmi\Client; use GhostZero\Tmi\ClientOptions; use GhostZero\Tmi\Events\Twitch\MessageEvent; $client = new Client(new ClientOptions([ 'connection' => [ 'secure' => true, 'reconnect' => true, 'rejoin' => true, ], 'channels' => ['ghostzero'] ])); $client->on(MessageEvent::class, function (MessageEvent $e) { print "{$e->tags['display-name']}: {$e->message}"; }); $client->connect();
Getting Started (w/ OAuth Token)
use GhostZero\Tmi\Client; use GhostZero\Tmi\ClientOptions; use GhostZero\Tmi\Events\Twitch\MessageEvent; $client = new Client(new ClientOptions([ 'options' => ['debug' => true], 'connection' => [ 'secure' => true, 'reconnect' => true, 'rejoin' => true, ], 'identity' => [ 'username' => 'ghostzero', 'password' => 'oauth:...', ], 'channels' => ['ghostzero'] ])); $client->on(MessageEvent::class, function (MessageEvent $e) use ($client) { if ($e->self) return; if (strtolower($e->message) === '!hello') { $client->say($e->channel->getName(), "@{$e->user}, heya!"); } }); $client->connect();