mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-11 07:33:14 -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 { 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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue