Skip to content

Kexiii/pydouyu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pydouyu

PyPI PyPI - Downloads PyPI - Python Version

斗鱼TV三方API、弹幕接口实现

Note

  • 目前新的弹幕服务器域名切换到了danmuproxy.douyu.com --2022.12.08
  • 斗鱼官方提供的“openbarrage.douyutv.com”已经不维护,见issue#1,现在需要手动指定弹幕服务器ip来保持正常运行 --2020.07.08

Feature

  • 官方已公布的斗鱼三方API完整实现
  • 自动重连
  • 稳定、无(少)数据遗漏

Install

  • pip3 install pydouyu

Example

from pydouyu.client import Client
import time
import sys


def chatmsg_handler(msg):
    output = time.strftime("[%Y-%m-%d %H:%M:%S] ", time.localtime()) + msg['nn'] + ": " + msg['txt']
    print(output)
    sys.stdout.flush()


def uenter_handler(msg):
    output = time.strftime("[%Y-%m-%d %H:%M:%S] ", time.localtime()) + msg['nn'] + " 进入了直播间"
    print(output)
    sys.stdout.flush()


c = Client(room_id=562590)
c.add_handler('chatmsg', chatmsg_handler)
c.add_handler('uenter', uenter_handler)
c.start()

Usage

  • 运行 Demo
    • git clone https://github.com/Kexiii/pydouyu.git
    • cd pydouyu
    • python3 example.py
  • 二次开发
    • 示例代码见 example.py
    • 用户可以自定义handler函数,并且调用Client.add_handler注册
    • Client.add_handler传入的第一个参数为消息类型,有哪些消息类型见下文弹幕协议
    • msg是一个dict,其的各字段见下文中的弹幕协议
  • 弹幕协议