@freetube/youtube-chat
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

youtube-chat

Fetch Youtube live chat without API

This module is a fork of youtube-chat, which was written by LinaTsukusu and fixed up by IcedCoffeee.

Since the original maintainer doesn't work on this package, we forked it and maintain it for the needs of FreeTube.

You will need to take full responsibility for your actions

Getting started

  1. Install
    • npm i youtube-chat
    • yarn add youtube-chat
  2. Import
    • Javascript
    const LiveChat = require('youtube-chat').LiveChat
    • Typescript
    import {LiveChat} from 'youtube-chat'
  3. Create instance with ChannelID or LiveID
    // If channelId is specified, liveId in the current stream is automatically acquired.
    const liveChat = new LiveChat({channelId: 'UCxkOLgdNumvVIQqn5ps_bJA?'})
    
    // Or specify LiveID in Stream manually.
    const liveChat = new LiveChat({liveId: 'bc5DoKBZRIo'})
  4. Add events
    // Emit at start of observation chat.
    // liveId: string
    liveChat.on('start', (liveId) => {})
    
    // Emit at end of observation chat.
    // reason: string?
    liveChat.on('end', (reason) => {})
    
    // Emit at receive chat.
    // comment: CommentItem
    liveChat.on('comment', (comment) => {})
    
    // Emit when an error occurs
    // err: Error
    liveChat.on('error', (err) => {})

Types

CommentItem

interface CommentItem {
  id: string
  author: {
    name: string
    thumbnail?: ImageItem
    channelId: string
    badge?: {
      thumbnail: ImageItem
      label: string
    }
  }
  message: MessageItem[]
  superchat?: {
    amount: string
    color: number
  }
  membership: boolean
  isOwner: boolean
  timestamp: number
}

MessageItem

type MessageItem = { text: string } | ImageItem

ImageItem

interface ImageItem {
  url: string
  alt: string
  width: number
  height: number
}

Readme

Keywords

Package Sidebar

Install

npm i @freetube/youtube-chat

Weekly Downloads

15

Version

1.1.2

License

MIT

Unpacked Size

23.9 kB

Total Files

15

Last publish

Collaborators

  • prestonft
  • gilgusmaximus