Javascript 在Discord.js中查找YouTube频道的订户数
我正在制作一个非常简单的Discord机器人,显示某个YouTuber的订户数量。 我希望这是自动化的,所以我不必一直更改它 这是我的当前代码,它将订户计数显示为bot的状态。 如何通过网站/YouTube API获取频道的订户数量?(我知道它将被缩写,这很好)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
以下是我如何将一组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;
}