mirror of
https://github.com/arthur-pbty/xiao.git
synced 2026-06-03 23:36:43 +02:00
62 lines
1.9 KiB
JavaScript
62 lines
1.9 KiB
JavaScript
const snekfetch = require('snekfetch');
|
|
const { CARBON_KEY, DBOTS_KEY, DBOTSORG_KEY } = process.env;
|
|
|
|
class Util {
|
|
static cleanXML(str) {
|
|
return str
|
|
.replace(/(<br \/>)/g, '')
|
|
.replace(/(')/g, '\'')
|
|
.replace(/(—)/g, '—')
|
|
.replace(/("|")/g, '"')
|
|
.replace(/(&)/g, '&')
|
|
.replace(/(\[i\]|\[\/i\])/g, '*');
|
|
}
|
|
|
|
static dBots(count, id) {
|
|
snekfetch
|
|
.post(`https://bots.discord.pw/api/bots/${id}/stats`)
|
|
.set({ Authorization: DBOTS_KEY })
|
|
.send({ server_count: count })
|
|
.then(() => console.log('[DBOTS] Successfully posted to Discord Bots.'))
|
|
.catch(err => console.error(`[DBOTS] Failed to post to Discord Bots. ${err}`));
|
|
}
|
|
|
|
static carbon(count) {
|
|
snekfetch
|
|
.post('https://www.carbonitex.net/discord/data/botdata.php')
|
|
.send({
|
|
key: CARBON_KEY,
|
|
servercount: count
|
|
})
|
|
.then(() => console.log('[CARBON] Successfully posted to Carbon.'))
|
|
.catch(err => console.error(`[CARBON] Failed to post to Carbon. ${err}`));
|
|
}
|
|
|
|
static dBotsOrg(count, id) {
|
|
snekfetch
|
|
.post(`https://discordbots.org/api/bots/${id}/stats`)
|
|
.set({ Authorization: DBOTSORG_KEY })
|
|
.send({ server_count: count })
|
|
.then(() => console.log('[DBOTSORG] Successfully posted to Discord Bots Org.'))
|
|
.catch(err => console.error(`[DBOTSORG] Failed to post to Discord Bots Org. ${err}`));
|
|
}
|
|
|
|
static filterTopics(channels, setting) {
|
|
return channels.filter(c => {
|
|
if (c.type !== 'text' || !c.topic) return false;
|
|
if (c.topic.includes(`<${setting}>`) && c.permissionsFor(c.client.user).has('SEND_MESSAGES')) return true;
|
|
return false;
|
|
});
|
|
}
|
|
|
|
static parseTopic(topic, setting) {
|
|
const regex = new RegExp(`<${setting}>.+</${setting}>`, 'gi');
|
|
if (!regex.test(topic)) return '';
|
|
const parsed = topic.match(regex)[0];
|
|
const word = `<${setting}>`;
|
|
return parsed.slice(word.length, parsed.length - (word.length + 1));
|
|
}
|
|
}
|
|
|
|
module.exports = Util;
|