simcu/douyu

DouyuTV Danmu SDK

dev-master 2018-03-04 22:28 UTC

This package is auto-updated.

Last update: 2020-08-05 09:53:47 UTC


README

本SDK使用Workerman为链接处理类,自动处理登陆,加入房间弹幕组,以及心跳保持.只需要简单的写好弹幕处理函数,就可以飞起来了

使用composer进行安装:

composer require simcu/douyu v1.0.2

版本说明:

  • v1.0.x 实现了官方文档 《斗鱼第三方开放平台API文档v2.1》 和 《斗鱼弹幕服务器第三方接入协议v1.4.1》

使用说明

房间信息

使用 Simcu\Douyu\Room 类获取平台相关信息

//获取平台分类
Room::getCategories();
//获取所有分类的直播间,第一参数为分类ID,0表示所有
Room::getLivesByCategory(0,1,40);
//获取房间详情
Room::getRoomDetail(1439492);
//获取房间礼物列表
Room::getRoomGifts(1439492);

弹幕

编写一个处理器类继承 Simcu\Douyu\DanmuProcessor,Processor类中包含类当前版本支持的消息类型,系统会自动调用处理器类中同名的消息类型方法进行处理

require_once 'vendor/autoload.php';

use Simcu\Douyu\Danmu;
use Simcu\Douyu\DanmuProcessor;

class Worker extends DanmuProcessor
{
    public function chatmsg($data)
    {
        echo $data['nn'] . ' >> ' . $data['txt'] . PHP_EOL;
    }
}

$app = new Danmu(1439492, new Worker());
$app->run();

Danmu 类属性

  1. roomid int 要进入房间的ID,默认:null
  2. debug bool 是否开启调试模式,调试模式会在终端输出DEBUG信息,默认:false
  3. proccessor class 弹幕处理函数,默认为null,请参考官方弹幕文档获取字段信息

Danmu 类方法

  1. Danmu::mutilCtrl 多任务控制,只需要new多个Danmu,然后Danmu::mutilCtrl('start'),即可启动多任务
  2. Danmu::run() 开始执行

DanmuProcessor类方法

`查看文件获取说明