Javascript 在Discord.js中查找YouTube频道的订户数

Javascript 在Discord.js中查找YouTube频道的订户数,javascript,node.js,youtube,discord.js,Javascript,Node.js,Youtube,Discord.js,我正在制作一个非常简单的Discord机器人,显示某个YouTuber的订户数量。 我希望这是自动化的,所以我不必一直更改它 这是我的当前代码,它将订户计数显示为bot的状态。 如何通过网站/YouTube API获取频道的订户数量?(我知道它将被缩写,这很好) 以下是我如何将一组youtube频道URL(而非异步)转换为具有5个字段的pojo[]的方法: public getRows() : RowData[] { console.log("Getting row dat

我正在制作一个非常简单的Discord机器人,显示某个YouTuber的订户数量。 我希望这是自动化的,所以我不必一直更改它

这是我的当前代码,它将订户计数显示为bot的状态。 如何通过网站/YouTube API获取频道的订户数量?(我知道它将被缩写,这很好)


以下是我如何将一组youtube频道URL(而非异步)转换为具有5个字段的pojo[]的方法:

  public getRows() : RowData[] {
    console.log("Getting row data...");
    let tmpData: RowData[] = [];
    let promises : Promise<ChannelResponse>[] = [];
    for (let ch = 0; ch < this.channelUrls.length; ch++) {
      let tmp_promise = this.http.get<ChannelResponse>(this.channelUrls[ch].url).toPromise();
      promises.push(tmp_promise);
    }
    Promise.all(promises).then((valuesArray) => {
      //console.log('Response: ' + JSON.stringify(valuesArray));
      for (let i = 0; i < valuesArray.length; i++) {
        const item : Item = valuesArray[i].items[0];
        const channel : Channel = this.channelUrls[i];
        tmpData.push({
          channel: channel.name,
          id: channel.id,
          views: Number(item.statistics.viewCount),
          subscribers: Number(item.statistics.subscriberCount),
          videos: Number(item.statistics.videoCount)
        });
      }
    });

以下是我如何将一组youtube频道URL(而非异步)转换为具有5个字段的pojo[]的方法:

  public getRows() : RowData[] {
    console.log("Getting row data...");
    let tmpData: RowData[] = [];
    let promises : Promise<ChannelResponse>[] = [];
    for (let ch = 0; ch < this.channelUrls.length; ch++) {
      let tmp_promise = this.http.get<ChannelResponse>(this.channelUrls[ch].url).toPromise();
      promises.push(tmp_promise);
    }
    Promise.all(promises).then((valuesArray) => {
      //console.log('Response: ' + JSON.stringify(valuesArray));
      for (let i = 0; i < valuesArray.length; i++) {
        const item : Item = valuesArray[i].items[0];
        const channel : Channel = this.channelUrls[i];
        tmpData.push({
          channel: channel.name,
          id: channel.id,
          views: Number(item.statistics.viewCount),
          subscribers: Number(item.statistics.subscriberCount),
          videos: Number(item.statistics.videoCount)
        });
      }
    });

这回答了你的问题吗?那是你真正的代币吗?如果是这样的话,赶快改变它。不@Karizma。那是我按随机键。谢谢你的关心。@I-portet-我真的不知道如何将它集成到我的代码中。对不起,我对这些webhook是新手。这能回答你的问题吗?那是你真正的代币吗?如果是这样的话,赶快改变它。不@Karizma。那是我按随机键。谢谢你的关心。@I-portet-我真的不知道如何将它集成到我的代码中。对不起,我对这些webhook是新手。
export interface RowData {
  channel: string;
  id: string;
  views: number;
  subscribers: number;
  videos: number;
}

export interface Channel {
  name: string;
  id: string;
  url: string;
}

export interface ChannelResponse {
  kind:     string;
  etag:     string;
  pageInfo: PageInfo;
  items:    Item[];
}

export interface Item {
  kind:       string;
  etag:       string;
  id:         string;
  statistics: Statistics;
}

export interface Statistics {
  viewCount:             string;
  subscriberCount:       string;
  hiddenSubscriberCount: boolean;
  videoCount:            string;
}

export interface PageInfo {
  totalResults:   number;
  resultsPerPage: number;
}