mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-08 22:23:03 -04:00
💸💸💸 DISCORD IS PAYING FOR THIS 💸💸💸
This commit is contained in:
parent
5a93e8402d
commit
40cc793ed0
3 changed files with 79 additions and 9 deletions
|
@ -1,16 +1,48 @@
|
||||||
const { createEmbed, formatPaginationEmbeds } = require('../../../labscore/utils/embed')
|
const { createEmbed, formatPaginationEmbeds, page } = require('../../../labscore/utils/embed')
|
||||||
const { link } = require('../../../labscore/utils/markdown')
|
const { link, iconPill, timestamp } = require('../../../labscore/utils/markdown')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
const { STATICS } = require('../../../labscore/utils/statics')
|
const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
|
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { youtube } = require('../../../labscore/api');
|
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){
|
function createYoutubePage(context, result){
|
||||||
let res = {
|
let res;
|
||||||
"embeds": [
|
let iconHeader;
|
||||||
createEmbed("default", context, {
|
switch(result.type){
|
||||||
description: `**${link(result.url, result.name)}**\n${result.description}`,
|
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: {
|
thumbnail: {
|
||||||
url: result.image
|
url: result.image
|
||||||
},
|
},
|
||||||
|
@ -18,8 +50,41 @@ function createYoutubePage(context, result){
|
||||||
iconUrl: STATICS.youtube,
|
iconUrl: STATICS.youtube,
|
||||||
text: `YouTube • ${context.application.name}`
|
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;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,11 @@ module.exports.ICONS = Object.freeze({
|
||||||
"robouser": "<:ico_robouser:1002944679744131092>",
|
"robouser": "<:ico_robouser:1002944679744131092>",
|
||||||
"lock": "<:ico_lock:1002948236971085924>",
|
"lock": "<:ico_lock:1002948236971085924>",
|
||||||
"badge_slash": "<:badge_slash:1002954716315140167>",
|
"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({
|
const GUILD_FEATURE_ICONS = Object.freeze({
|
||||||
|
|
|
@ -113,6 +113,7 @@ module.exports.formatPaginationEmbeds = function(embeds){
|
||||||
for(const e of embeds){
|
for(const e of embeds){
|
||||||
i += 1;
|
i += 1;
|
||||||
let ne = e;
|
let ne = e;
|
||||||
|
if(!e) continue;
|
||||||
if(e.embed){
|
if(e.embed){
|
||||||
ne.embed.footer.text = e.embed.footer.text + ` • Page ${i}/${l}`
|
ne.embed.footer.text = e.embed.footer.text + ` • Page ${i}/${l}`
|
||||||
formatted.push(ne)
|
formatted.push(ne)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue