💸💸💸 DISCORD IS PAYING FOR THIS 💸💸💸

This commit is contained in:
derpystuff 2023-03-18 01:53:31 +01:00
parent 5a93e8402d
commit 40cc793ed0
3 changed files with 79 additions and 9 deletions

View file

@ -1,16 +1,48 @@
const { createEmbed, formatPaginationEmbeds } = require('../../../labscore/utils/embed')
const { link } = require('../../../labscore/utils/markdown')
const { createEmbed, formatPaginationEmbeds, page } = require('../../../labscore/utils/embed')
const { link, iconPill, timestamp } = require('../../../labscore/utils/markdown')
const { editOrReply } = require('../../../labscore/utils/message')
const { STATICS } = require('../../../labscore/utils/statics')
const { paginator } = require('../../../labscore/client');
const { youtube } = require('../../../labscore/api');
// https://www.html-code-generator.com/javascript/shorten-long-numbers
const intToString = num => {
num = num.toString().replace(/[^0-9.]/g, '');
if (num < 1000) return num;
let si = [
{v: 1E3, s: "K"},
{v: 1E6, s: "M"},
{v: 1E9, s: "B"},
{v: 1E12, s: "T"},
{v: 1E15, s: "P"},
{v: 1E18, s: "E"}
];
let index;
for (index = si.length - 1; index > 0; index--) {
if (num >= si[index].v) break;
}
return (num / si[index].v).toFixed(2).replace(/\.0+$|(\.[0-9]*[1-9])0+$/, "$1") + si[index].s;
};
function createYoutubePage(context, result){
let res = {
"embeds": [
createEmbed("default", context, {
description: `**${link(result.url, result.name)}**\n${result.description}`,
let res;
let iconHeader;
switch(result.type){
case 1: //video
iconHeader = [
iconPill("eye", intToString(parseInt(result.metadata.views))),
iconPill("like", intToString(parseInt(result.metadata.likes))),
iconPill("message", intToString(parseInt(result.metadata.comments)))
]
res = page(createEmbed("default", context, {
author: {
name: result.channel.name,
url: result.channel.url,
iconUrl: result.channel.icon
},
description: `**${link(result.url, result.name)}**\n${iconHeader.join(' ')}\n*Uploaded ${timestamp(result.date, "f")}*\n\n${result.description}`,
thumbnail: {
url: result.image
},
@ -18,8 +50,41 @@ function createYoutubePage(context, result){
iconUrl: STATICS.youtube,
text: `YouTube • ${context.application.name}`
}
})
]
}))
break;
case 2: // channel
iconHeader = [
iconPill("videos", intToString(parseInt(result.metadata.videos).toLocaleString('en-US'))),
iconPill("eye", intToString(parseInt(result.metadata.views).toLocaleString('en-US')))
]
res = page(createEmbed("default", context, {
description: `**${link(result.url, result.name)}**\n${iconHeader.join(' ')}\n*Created ${timestamp(result.date, "f")}*\n\n${result.description}`,
thumbnail: {
url: result.icon
},
footer: {
iconUrl: STATICS.youtube,
text: `YouTube • ${context.application.name}`
}
}))
break;
case 3: // playlist
iconHeader = [
iconPill("videos", intToString(parseInt(result.metadata.videos).toLocaleString('en-US')))
]
res = page(createEmbed("default", context, {
description: `**${link(result.url, result.name)}**\n${iconHeader.join(' ')} *Created ${timestamp(result.date, "f")}*\n\n${result.description}`,
thumbnail: {
url: result.image
},
footer: {
iconUrl: STATICS.youtube,
text: `YouTube • ${context.application.name}`
}
}))
break;
default: // wtf?
break;
}
return res;
}

View file

@ -77,7 +77,11 @@ module.exports.ICONS = Object.freeze({
"robouser": "<:ico_robouser:1002944679744131092>",
"lock": "<:ico_lock:1002948236971085924>",
"badge_slash": "<:badge_slash:1002954716315140167>",
"flag": "<:ico_flag:1002957495138009251>"
"flag": "<:ico_flag:1002957495138009251>",
"like": "<:ico_like:1086443586700181514>",
"message": "<:ico_message:1086443588784758844>",
"eye": "<:ico_eye:1086443585337036860>",
"videos": "<:ico_videos:1086449271609503764>"
})
const GUILD_FEATURE_ICONS = Object.freeze({

View file

@ -113,6 +113,7 @@ module.exports.formatPaginationEmbeds = function(embeds){
for(const e of embeds){
i += 1;
let ne = e;
if(!e) continue;
if(e.embed){
ne.embed.footer.text = e.embed.footer.text + ` • Page ${i}/${l}`
formatted.push(ne)