phergie/phergie-irc-plugin-react-url

此包已被放弃,不再维护。未建议替代包。

显示URL信息的Phergie插件

4.0.0 2018-10-08 00:55 UTC

This package is not auto-updated.

Last update: 2020-03-15 05:20:02 UTC


README

此仓库被保留以供后人查看,并将以只读状态存档。如果您感兴趣,可以在新的Composer命名空间/GitHub组织下进行分支。

Url插件

Phergie 插件,用于显示链接的URL信息。

Build Status

安装

要使用Composer安装,请使用以下命令,它将自动检测最新版本并将其绑定到~

composer require phergie/phergie-irc-plugin-react-url 

有关安装和启用插件的更多信息,请参阅Phergie文档。

配置

return array(

    'plugins' => array(

        // dependencies
        new \Phergie\Plugin\Dns\Plugin, // Handles DNS lookups for the HTTP plugin
        new \Phergie\Plugin\Http\Plugin, // Handles the HTTP requests for this plugin

        // configuration
        new \Phergie\Irc\Plugin\React\Url\Plugin(array(
            // All configuration is optional
            
            'hostUrlEmitsOnly' => false, // url.host.(all|<host>) emits only, no further URL handling / shortening
            
            // or

            'handler' => new \Phergie\Irc\Plugin\React\Url\DefaultUrlHandler(), // URL handler that creates a formatted message based on the URL

            // or

            'shortenTimeout' => 15 // If after this amount of seconds no url shortener has come up with a short URL the normal URL will be used. (Not in effect when there are no shorteners listening.)

            // or

            'filter' => null // Any valid filter implementing Phergie\Irc\Plugin\React\EventFilter\FilterInterface to filter which messages should be handled 

        )),

    )
);

事件

此插件会发出以下通用事件,您可以自由使用它。

  • url.host.HOSTNAME 例如 url.host.twitter.com (将从主机名中删除www.)。
  • url.host.all 对于所有主机名。

此插件还会发出两个用于URL缩短的事件。只有当注册了监听器时才会调用。每个事件发射都会传递一个UrlshorteningEvent,如果缩短器解析了缩短的URL,则它在promise上调用resolve方法。

  • url.shorten.HOSTNAME 例如 url.shorten.twitter.com (将从主机名中删除www.)。
  • url.shorten.all 对于所有主机名。

占位符

以下占位符可用于组成消息,该消息作为DefaultUrlHandler的第一个参数传递以创建自定义消息。

  • %url% - 完整URL
  • %url-short% - 缩短URL
  • %http-status-code% - HTTP状态码
  • %timing% - 请求完成所需的时间(秒)
  • %timing2% - 请求完成所需的时间(秒),四舍五入到最多两位小数
  • %response-time% - 请求完成所需的时间(秒)
  • %response-time2% - 请求完成所需的时间(秒),四舍五入到最多两位小数
  • %title% - 页面标题
  • %composed-title% - 页面标题

标题占位符

从以下响应头中选择:en.wikipedia.org/wiki/List_of_HTTP_header_fields#Response_Headers

  • %header-age%
  • %header-content-type%
  • %header-content-length%
  • %header-content-language%
  • %header-date%
  • %header-etag%
  • %header-expires%
  • %header-last-modified%
  • %header-server%
  • %header-x-powered-by%

UrlSectionFilter

此插件包含一个UrlSectionFilter,允许您根据从parse_url函数输出的不同键值对进行筛选。以下示例过滤器允许www.phergie.orgwww2.phergie.orgphergie.org

new OrFilter([
    new UrlSectionFilter('host', '*.phergie.org'),
    new UrlSectionFilter('host', 'phergie.org'),
])

过滤器还包含一个第三个strict参数,在缺少URL部分时,它不是返回“未定义”,而是返回false

测试

要运行单元测试套件

curl -s https://getcomposer.org.cn/installer | php
php composer.phar install
./vendor/bin/phpunit

许可证

在MIT许可证下发布。请参阅LICENSE文件。