mirror of
https://github.com/toast-ts/Daggerbot-TS.git
synced 2024-11-17 16:30:58 -05:00
Move stuff inside the for loop
This commit is contained in:
parent
c5101717e5
commit
fcfd11431a
@ -9,42 +9,42 @@ export default async(client:TClient)=>{
|
|||||||
let Data:any;
|
let Data:any;
|
||||||
const cacheExpiry:number = 7200; // Invalidate cache after sitting in Redis for 2 hours
|
const cacheExpiry:number = 7200; // Invalidate cache after sitting in Redis for 2 hours
|
||||||
|
|
||||||
let YTChannelID:string;
|
|
||||||
let YTChannelName:string;
|
|
||||||
let DiscordChannelID:string;
|
|
||||||
let DiscordRoleID:string;
|
|
||||||
|
|
||||||
const YTDB = await client.ytChannels.getChannels();
|
const YTDB = await client.ytChannels.getChannels();
|
||||||
for (const channel of YTDB) {
|
for (const channel of YTDB) {
|
||||||
|
let YTChannelID:string;
|
||||||
|
let YTChannelName:string;
|
||||||
|
let DiscordChannelID:string;
|
||||||
|
let DiscordRoleID:string;
|
||||||
|
|
||||||
YTChannelID = channel.dataValues.ytchannel;
|
YTChannelID = channel.dataValues.ytchannel;
|
||||||
DiscordChannelID = channel.dataValues.dcchannel;
|
DiscordChannelID = channel.dataValues.dcchannel;
|
||||||
DiscordRoleID = channel.dataValues.dcrole;
|
DiscordRoleID = channel.dataValues.dcrole;
|
||||||
};
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await Undici.request(`https://youtube.googleapis.com/youtube/v3/activities?part=snippet&channelId=${YTChannelID}&maxResults=2&key=${(await TSClient()).youtube}`, {
|
await Undici.request(`https://youtube.googleapis.com/youtube/v3/activities?part=snippet&channelId=${YTChannelID}&maxResults=2&key=${(await TSClient()).youtube}`, {
|
||||||
signal: AbortSignal.timeout(10000),
|
signal: AbortSignal.timeout(10000),
|
||||||
headers: {'User-Agent':`${client.user.username} - YTModule/undici`},
|
headers: {'User-Agent':`${client.user.username} - YTModule/undici`},
|
||||||
}).then(async resp=>Data = await resp.body.json());
|
}).then(async resp=>Data = await resp.body.json());
|
||||||
YTChannelName = Data.items[0].snippet.channelTitle;
|
YTChannelName = Data.items[0].snippet.channelTitle;
|
||||||
} catch {
|
} catch {
|
||||||
Logger.console('log', 'YTModule', `Failed to get video data for "${YTChannelName}" from YouTube API`);
|
Logger.console('log', 'YTModule', `Failed to get video data for "${YTChannelName}" from YouTube API`);
|
||||||
}
|
}
|
||||||
if (!Data) return;
|
if (!Data) return;
|
||||||
|
|
||||||
const getVideoId = (index:number)=>Data.items[index].snippet.thumbnails.default.url.split('/')[4];
|
const getVideoId = (index:number)=>Data.items[index].snippet.thumbnails.default.url.split('/')[4];
|
||||||
const videoUrl = `https://www.youtube.com/watch?v=${getVideoId(0)}`;
|
const videoUrl = `https://www.youtube.com/watch?v=${getVideoId(0)}`;
|
||||||
const cacheKey = `YTCache:${YTChannelID}`;
|
const cacheKey = `YTCache:${YTChannelID}`;
|
||||||
const cachedVideoId = await CacheServer.get(cacheKey, false);
|
const cachedVideoId = await CacheServer.get(cacheKey, false);
|
||||||
if (!cachedVideoId) {
|
if (!cachedVideoId) {
|
||||||
await CacheServer.set(cacheKey, getVideoId(0), false).then(async()=>await CacheServer.expiry(cacheKey, cacheExpiry));
|
await CacheServer.set(cacheKey, getVideoId(0), false).then(async()=>await CacheServer.expiry(cacheKey, cacheExpiry));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (getVideoId(1) === cachedVideoId) {
|
if (getVideoId(1) === cachedVideoId) {
|
||||||
await CacheServer.delete(cacheKey).then(async()=>await CacheServer.set(cacheKey, getVideoId(0), false).then(async()=>await CacheServer.expiry(cacheKey, cacheExpiry)));
|
await CacheServer.delete(cacheKey).then(async()=>await CacheServer.set(cacheKey, getVideoId(0), false).then(async()=>await CacheServer.expiry(cacheKey, cacheExpiry)));
|
||||||
|
|
||||||
(client.channels.resolve(DiscordChannelID) as TextChannel).send({
|
(client.channels.resolve(DiscordChannelID) as TextChannel).send({
|
||||||
content: `${MessageTool.formatMention(DiscordRoleID, 'role')}\n**${YTChannelName}** just uploaded a video!\n${videoUrl}`, allowedMentions: {parse: ['roles']},
|
content: `${MessageTool.formatMention(DiscordRoleID, 'role')}\n**${YTChannelName}** just uploaded a video!\n${videoUrl}`, allowedMentions: {parse: ['roles']},
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user