PHP Twitch 消息接口

2.3.3 2023-03-22 09:25 UTC

This package is auto-updated.

Last update: 2024-09-22 12:35:07 UTC


README

Total Downloads Latest Stable Version License Discord

简介

tmi.jsphp-irc-client 启发,此包是一个功能齐全、性能高效的 PHP 7.4 Twitch IRC 客户端。

还可以查看 ghostzero/tmi-cluster。TMI Cluster 是一个 Laravel 包,可以使 PHP TMI 客户端可扩展。

功能

  • 通过 SSL 连接到 Twitch IRC
  • 通用 IRC 命令
  • 支持 Twitch IRC 标签(IRC v3)
  • 支持 Twitch IRC 成员资格
  • 支持 Twitch IRC 命令

官方文档

您可以在这里查看我们的官方文档。

入门(无需 OAuth 令牌)

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();

入门(带 OAuth 令牌)

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();