Skip to content

Repository files navigation

PHP Twitch Messaging Interface

Total DownloadsLatest Stable VersionLicenseDiscord

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)

useGhostZero\Tmi\Client;
useGhostZero\Tmi\ClientOptions;
useGhostZero\Tmi\Events\Twitch\MessageEvent;
$client = newClient(newClientOptions([
'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)

useGhostZero\Tmi\Client;
useGhostZero\Tmi\ClientOptions;
useGhostZero\Tmi\Events\Twitch\MessageEvent;
$client = newClient(newClientOptions([
'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();

About

PHP Twitch Messaging Interface

Topics

Resources

Stars

25 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Contributors

Languages