skycube/lightircparser

PHP 解析器,用于解析符合IRC协议的消息,包括对IRCv3.2消息标签的支持

1.0.3 2017-11-27 18:04 UTC

This package is auto-updated.

Last update: 2024-09-29 04:31:28 UTC


README

PHP 解析器,用于解析符合IRC协议的消息,包括对IRCv3.2消息标签的支持

示例

示例 1

无消息标签的消息。

$msg = new Lightircparser\IRCMessage(":test!test@test.my.irc.server JOIN #test");
$msg->phrase();
echo $msg->to_json();

输出

{
    "ts": 1488459541399,
    "has_message_tags": false,
    "has_prefix": true,
    "message_tags": [],
    "prefix": {
        "nick": "test",
        "user": "test",
        "host": "test.my.irc.server"
    },
    "command": "JOIN",
    "params": [
        "#test"
    ],
    "raw": ":test!test@test.my.irc.server JOIN #test"
}
示例 2

带有IRCv3.2消息标签的消息。

$msg = new Lightircparser\IRCMessage("@display-name=TestUser;id=2362364236234634634;room-id=31462363463;sent-ts=1488375811149;admin=0;testp= :testuser!testuser@testuser.my.irc.server PRIVMSG #test :Hello! World");
$msg->phrase();
echo $msg->to_json();

输出

{
    "ts": 1488460013762,
    "has_message_tags": true,
    "has_prefix": true,
    "message_tags": {
        "display-name": "TestUser",
        "id": "2362364236234634634",
        "room-id": "31462363463",
        "sent-ts": "1488375811149",
        "admin": "0",
        "testp": null
    },
    "prefix": {
        "nick": "testuser",
        "user": "testuser",
        "host": "testuser.my.irc.server"
    },
    "command": "PRIVMSG",
    "params": [
        "#test",
        "Hello! World"
    ],
    "raw": "@display-name=TestUser;id=2362364236234634634;room-id=31462363463;sent-ts=1488375811149;admin=0;testp= :testuser!testuser@testuser.my.irc.server PRIVMSG #test :Hello! World"
}

动机

我找不到支持消息标签的PHP解析器,所以我自己制作了一个。

安装

composer require skycube/lightircparser

许可证

GPL-3.0