All Projects → ghostzero → tmi

ghostzero / tmi

Licence: MIT license
PHP Twitch Messaging Interface

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to tmi

jj
An evolution of the suckless ii(1) file-based IRC client
Stars: ✭ 80 (+321.05%)
Mutual labels:  irc
insobot
C99 modular IRC bot with markov chains
Stars: ✭ 71 (+273.68%)
Mutual labels:  irc
slackbridge
Bridge between IRC and Slack running on Kubernetes
Stars: ✭ 12 (-36.84%)
Mutual labels:  irc
twurple
Interact with Twitch's API, chat and subscribe to events via PubSub and EventSub.
Stars: ✭ 479 (+2421.05%)
Mutual labels:  tmi
node-irc
NodeJS IRC client library
Stars: ✭ 42 (+121.05%)
Mutual labels:  irc
Slack-IRC-Gateway
Bridge Slack rooms to IRC channels
Stars: ✭ 33 (+73.68%)
Mutual labels:  irc
twitch-chat-monitor
Twitch Chat Monitor that allows the chat to be shown comfortably on a big monitor. Useful for room-scale streaming where the chat needs to be readable from a distance.
Stars: ✭ 28 (+47.37%)
Mutual labels:  tmi
weercd
WeeChat IRC testing server.
Stars: ✭ 28 (+47.37%)
Mutual labels:  irc
ghi
GitHub IRC Notification Service
Stars: ✭ 26 (+36.84%)
Mutual labels:  irc
autobrr
Automation for downloads.
Stars: ✭ 288 (+1415.79%)
Mutual labels:  irc
fluent-plugin-irc
No description or website provided.
Stars: ✭ 16 (-15.79%)
Mutual labels:  irc
ircv3.github.io
IRCv3 website
Stars: ✭ 85 (+347.37%)
Mutual labels:  irc
Cardinal
A Python IRC bot, designed to make adding functionality quick and simple.
Stars: ✭ 92 (+384.21%)
Mutual labels:  irc
twitch-chat-bot
No description or website provided.
Stars: ✭ 63 (+231.58%)
Mutual labels:  irc
openbooks
Search and Download eBooks
Stars: ✭ 752 (+3857.89%)
Mutual labels:  irc
mIRC-Twitch-Scripts
Various scripts and games to use with a mIRC bot designed for Twitch.tv
Stars: ✭ 30 (+57.89%)
Mutual labels:  irc
eggdrop-docker
No description or website provided.
Stars: ✭ 20 (+5.26%)
Mutual labels:  irc
pesterchum-alt-servers
Instant messaging client copying the look and feel of clients from Andrew Hussie's webcomic Homestuck.
Stars: ✭ 37 (+94.74%)
Mutual labels:  irc
twitch-irc-rs
Twitch IRC library for the Rust programming language
Stars: ✭ 58 (+205.26%)
Mutual labels:  irc
irc-socket
A simple IRC socket for use with Node IRC libraries.
Stars: ✭ 17 (-10.53%)
Mutual labels:  irc

PHP Twitch Messaging Interface

Total Downloads Latest Stable Version License Discord

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();
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].