Class representing a song.

If Song is added from a YouTube SearchResult or Playlist, some info will be missing to save your resources. It will be filled when emitting DisTube#playSong event.

Missing info: Song#likes, Song#dislikes, Song#streamURL, Song#related, Song#chapters, Song#age_restricted

Type Parameters

  • T = unknown

Constructors

  • Create a Song

    Type Parameters

    • T = unknown

    Parameters

    • info: SearchResult | OtherSongInfo | RelatedSong | videoInfo | relatedVideo | {
          author: null | {
              name: string;
              ref: string;
          };
          duration: null | string;
          id: string;
          thumbnail: string;
          title: string;
          url: string;
          url_simple: string;
      }

      Raw info

    • options: {
          member?: GuildMember;
          metadata?: T;
          source?: string;
      } = {}

      Optional options

      • Optional member?: GuildMember
      • Optional metadata?: T
      • Optional source?: string

    Returns Song<T>

Properties

#member?: GuildMember
#metadata: T
#playlist?: Playlist<unknown>
age_restricted: boolean
chapters: Chapter[]
dislikes: number
duration: number
formats?: videoFormat[]
formattedDuration?: string
id?: string
isLive: boolean
likes: number
name?: string
related: RelatedSong[]
reposts: number
source: string
streamURL?: string
thumbnail?: string
uploader: {
    name?: string;
    url?: string;
}

Type declaration

  • Optional name?: string
  • Optional url?: string
url: string
views: number

Accessors

  • get member(): undefined | GuildMember
  • User requested.

    Returns undefined | GuildMember

  • set member(member): void
  • Parameters

    • member: undefined | GuildMember

    Returns void

Methods