This commit is contained in:
Dragon Fire
2020-10-24 14:25:32 -04:00
parent 40080cadef
commit ebd26a7b0e
25 changed files with 42 additions and 44 deletions
+1 -1
View File
@@ -158,7 +158,7 @@ client.on('guildMemberRemove', async member => {
if (channel.topic && channel.topic.includes('<xiao:disable-leave>')) return null; if (channel.topic && channel.topic.includes('<xiao:disable-leave>')) return null;
try { try {
const leaveMessage = client.leaveMessages[Math.floor(Math.random() * client.leaveMessages.length)]; const leaveMessage = client.leaveMessages[Math.floor(Math.random() * client.leaveMessages.length)];
await channel.send(leaveMessage.replace(/{{user}}/gi, `**${member.user.tag}**`)); await channel.send(leaveMessage.replaceAll('{{user}}', `**${member.user.tag}**`));
return null; return null;
} catch { } catch {
return null; return null;
+1 -1
View File
@@ -18,7 +18,7 @@ module.exports = class LintRuleCommand extends Command {
key: 'rule', key: 'rule',
prompt: 'Which rule would you like to get information on?', prompt: 'Which rule would you like to get information on?',
type: 'string', type: 'string',
parse: rule => rule.toLowerCase().replace(/ /g, '-') parse: rule => rule.toLowerCase().replaceAll(' ', '-')
} }
] ]
}); });
+2 -2
View File
@@ -22,13 +22,13 @@ module.exports = class ShieldsIoBadgeCommand extends Command {
key: 'subject', key: 'subject',
prompt: 'What is the subject of the badge?', prompt: 'What is the subject of the badge?',
type: 'string', type: 'string',
parse: subject => encodeURIComponent(subject.replace(/-/g, '--').replace(/_/g, '__')) parse: subject => encodeURIComponent(subject.replaceAll('-', '--').replaceAll('_', '__'))
}, },
{ {
key: 'status', key: 'status',
prompt: 'What is the status of the badge?', prompt: 'What is the status of the badge?',
type: 'string', type: 'string',
parse: status => encodeURIComponent(status.replace(/-/g, '--').replace(/_/g, '__')) parse: status => encodeURIComponent(status.replaceAll('-', '--').replaceAll('_', '__'))
}, },
{ {
key: 'color', key: 'color',
+1 -1
View File
@@ -51,7 +51,7 @@ module.exports = class BeLikeBillCommand extends Command {
const ctx = canvas.getContext('2d'); const ctx = canvas.getContext('2d');
ctx.drawImage(base, 0, 0); ctx.drawImage(base, 0, 0);
ctx.font = 'normal bold 23px Arial'; ctx.font = 'normal bold 23px Arial';
const text = await wrapText(ctx, texts[Math.floor(Math.random() * texts.length)].replace(/{{name}}/gi, name), 569); const text = await wrapText(ctx, texts[Math.floor(Math.random() * texts.length)].replaceAll('{{name}}', name), 569);
ctx.fillText(stripIndents` ctx.fillText(stripIndents`
This is ${name}. This is ${name}.
+2 -2
View File
@@ -14,7 +14,7 @@ module.exports = class ClapCommand extends Command {
prompt: 'What 👏 text 👏 would 👏 you 👏 like 👏 to 👏 convert?', prompt: 'What 👏 text 👏 would 👏 you 👏 like 👏 to 👏 convert?',
type: 'string', type: 'string',
validate: text => { validate: text => {
if (text.replace(/ /g, ' 👏 ').length < 2000) return true; if (text.replaceAll(' ', ' 👏 ').length < 2000) return true;
return 'Invalid text, your text is too long.'; return 'Invalid text, your text is too long.';
} }
} }
@@ -23,6 +23,6 @@ module.exports = class ClapCommand extends Command {
} }
run(msg, { text }) { run(msg, { text }) {
return msg.say(text.replace(/ /g, ' 👏 ')); return msg.say(text.replaceAll(' ', ' 👏 '));
} }
}; };
+2 -2
View File
@@ -20,14 +20,14 @@ module.exports = class LatlmesCommand extends Command {
prompt: 'What section of the news should the link display?', prompt: 'What section of the news should the link display?',
type: 'string', type: 'string',
max: 100, max: 100,
parse: query => encodeURIComponent(query.replace(/ /g, '-').toLowerCase()) parse: query => encodeURIComponent(query.replaceAll(' ', '-').toLowerCase())
}, },
{ {
key: 'query', key: 'query',
prompt: 'What would you like the link to display as?', prompt: 'What would you like the link to display as?',
type: 'string', type: 'string',
max: 500, max: 500,
parse: query => encodeURIComponent(query.replace(/ /g, '-').toLowerCase()) parse: query => encodeURIComponent(query.replaceAll(' ', '-').toLowerCase())
} }
] ]
}); });
+1 -1
View File
@@ -23,6 +23,6 @@ module.exports = class SnakeSpeakCommand extends Command {
} }
run(msg, { text }) { run(msg, { text }) {
return msg.say(text.replace(/s/gi, 'sssss')); return msg.say(text.replaceAll('s', 'sssss').replaceAll('S', 'SSSSS'));
} }
}; };
+4 -3
View File
@@ -42,8 +42,9 @@ module.exports = class TemmieCommand extends Command {
temmize(text) { temmize(text) {
return wordTrans(text, dictionary) return wordTrans(text, dictionary)
.replace(/ing/gi, 'in') .replaceAll('ing', 'in')
.replace(/!/g, '!!!!111!1!') .replaceAll('ING', 'IN')
.replace(/'/g, ''); .replaceAll('!', '!!!!111!1!')
.replaceAll('\'', '');
} }
}; };
+1 -1
View File
@@ -40,7 +40,7 @@ module.exports = class ApodCommand extends Command {
) )
.setImage(body.media_type === 'image' ? body.url : null) .setImage(body.media_type === 'image' ? body.url : null)
.setURL(body.url) .setURL(body.url)
.setFooter(`Image Credits: ${body.copyright ? body.copyright.replace(/\n/g, '/') : 'Public Domain'}`) .setFooter(`Image Credits: ${body.copyright ? body.copyright.replaceAll('\n', '/') : 'Public Domain'}`)
.setTimestamp(); .setTimestamp();
return msg.embed(embed); return msg.embed(embed);
} catch (err) { } catch (err) {
+1 -1
View File
@@ -33,7 +33,7 @@ module.exports = class TimeCommand extends Command {
label: 'time zone', label: 'time zone',
prompt: 'Which time zone do you want to get the time of?', prompt: 'Which time zone do you want to get the time of?',
type: 'string', type: 'string',
parse: timeZone => timeZone.replace(/ /g, '_').toLowerCase() parse: timeZone => timeZone.replaceAll(' ', '_').toLowerCase()
} }
] ]
}); });
+4 -7
View File
@@ -89,13 +89,10 @@ module.exports = class HungerGamesCommand extends Command {
} }
parseEvent(event, tributes) { parseEvent(event, tributes) {
return event for (let i = 0; i < 6; i++) {
.replace(/\(Player1\)/gi, `**${tributes[0]}**`) event = event.replaceAll(`(Player${i + 1})`, `**${tributes[i]}**`);
.replace(/\(Player2\)/gi, `**${tributes[1]}**`) }
.replace(/\(Player3\)/gi, `**${tributes[2]}**`) return event;
.replace(/\(Player4\)/gi, `**${tributes[3]}**`)
.replace(/\(Player5\)/gi, `**${tributes[4]}**`)
.replace(/\(Player6\)/gi, `**${tributes[5]}**`);
} }
makeEvents(tributes, kills, eventsArr, deaths, results) { makeEvents(tributes, kills, eventsArr, deaths, results) {
+1 -1
View File
@@ -51,7 +51,7 @@ module.exports = class MadLibsCommand extends Command {
this.client.games.delete(msg.channel.id); this.client.games.delete(msg.channel.id);
let finished = lib.text; let finished = lib.text;
for (let i = 0; i < choices.length; i++) { for (let i = 0; i < choices.length; i++) {
finished = finished.replace(new RegExp(`\\{${i}\\}`, 'g'), `**${choices[i]}**`); finished = finished.replaceAll(`{${i}}`, `**${choices[i]}**`);
} }
return msg.say(finished); return msg.say(finished);
} catch (err) { } catch (err) {
+1 -1
View File
@@ -23,7 +23,7 @@ module.exports = class NeverHaveIEverCommand extends Command {
async run(msg) { async run(msg) {
try { try {
const { text } = await request.get('http://www.neverhaveiever.org/randomtext.php'); const { text } = await request.get('http://www.neverhaveiever.org/randomtext.php');
return msg.say(text.match(/<h1>(.+)<\/h1>/i)[1].replace(/<\/br>/g, '')); return msg.say(text.match(/<h1>(.+)<\/h1>/i)[1].replaceAll('</br>', ''));
} catch (err) { } catch (err) {
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
} }
+2 -2
View File
@@ -51,8 +51,8 @@ module.exports = class BulbapediaCommand extends Command {
.setTitle(data.title) .setTitle(data.title)
.setAuthor('Bulbapedia', 'https://i.imgur.com/ePpoeFA.png', 'https://bulbapedia.bulbagarden.net/') .setAuthor('Bulbapedia', 'https://i.imgur.com/ePpoeFA.png', 'https://bulbapedia.bulbagarden.net/')
.setThumbnail(data.thumbnail ? data.thumbnail.source : null) .setThumbnail(data.thumbnail ? data.thumbnail.source : null)
.setURL(`https://bulbapedia.bulbagarden.net/wiki/${encodeURIComponent(query).replace(/\)/g, '%29')}`) .setURL(`https://bulbapedia.bulbagarden.net/wiki/${encodeURIComponent(query).replaceAll(')', '%29')}`)
.setDescription(shorten(data.extract.replace(/\n/g, '\n\n'))); .setDescription(shorten(data.extract.replaceAll('\n', '\n\n')));
return msg.embed(embed); return msg.embed(embed);
} catch (err) { } catch (err) {
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
+1 -1
View File
@@ -53,7 +53,7 @@ module.exports = class LyricsCommand extends Command {
const { text } = await request.get(`https://www.azlyrics.com/lyrics/${artist}/${song}.html`); const { text } = await request.get(`https://www.azlyrics.com/lyrics/${artist}/${song}.html`);
const lyrics = text.match(lyricRegex)[1]; const lyrics = text.match(lyricRegex)[1];
return lyrics return lyrics
.replace(/<br>/g, '') .replaceAll('<br>', '')
.replace(/<\/?div>/g, '') .replace(/<\/?div>/g, '')
.trim(); .trim();
} }
+1 -1
View File
@@ -22,7 +22,7 @@ module.exports = class MDNCommand extends Command {
key: 'query', key: 'query',
prompt: 'What article would you like to search for?', prompt: 'What article would you like to search for?',
type: 'string', type: 'string',
parse: query => query.replace(/#/g, '.prototype.') parse: query => query.replaceAll('#', '.prototype.')
} }
] ]
}); });
+1 -1
View File
@@ -70,7 +70,7 @@ module.exports = class NeopetsItemCommand extends Command {
name: details.match(/<h1>(.+)<\/h1>/)[1], name: details.match(/<h1>(.+)<\/h1>/)[1],
details: details.match(/<em>(.+)<\/em>/)[1], details: details.match(/<em>(.+)<\/em>/)[1],
image: `https://items.jellyneo.net/assets/imgs/items/${id[1]}.gif`, image: `https://items.jellyneo.net/assets/imgs/items/${id[1]}.gif`,
price: price ? Number.parseInt(price[1].replace(/,/g, ''), 10) : null, price: price ? Number.parseInt(price[1].replaceAll(',', ''), 10) : null,
currency: price ? price[2] : null currency: price ? price[2] : null
}; };
} }
+1 -1
View File
@@ -25,7 +25,7 @@ module.exports = class NPMCommand extends Command {
label: 'package', label: 'package',
prompt: 'What package would you like to get information on?', prompt: 'What package would you like to get information on?',
type: 'string', type: 'string',
parse: pkg => encodeURIComponent(pkg.replace(/ /g, '-')) parse: pkg => encodeURIComponent(pkg.replaceAll(' ', '-'))
} }
] ]
}); });
+1 -1
View File
@@ -102,6 +102,6 @@ module.exports = class PaladinsCommand extends Command {
case 'Damage': emojiID = DAMAGE_EMOJI_ID; break; case 'Damage': emojiID = DAMAGE_EMOJI_ID; break;
case 'Front Line': emojiID = FRONT_LINE_EMOJI_ID; break; case 'Front Line': emojiID = FRONT_LINE_EMOJI_ID; break;
} }
return `<:${className.replace(/ /g, '')}:${emojiID}>`; return `<:${className.replaceAll(' ', '')}:${emojiID}>`;
} }
}; };
+2 -2
View File
@@ -51,8 +51,8 @@ module.exports = class WikipediaCommand extends Command {
.setTitle(data.title) .setTitle(data.title)
.setAuthor('Wikipedia', 'https://i.imgur.com/Z7NJBK2.png', 'https://www.wikipedia.org/') .setAuthor('Wikipedia', 'https://i.imgur.com/Z7NJBK2.png', 'https://www.wikipedia.org/')
.setThumbnail(data.thumbnail ? data.thumbnail.source : null) .setThumbnail(data.thumbnail ? data.thumbnail.source : null)
.setURL(`https://en.wikipedia.org/wiki/${encodeURIComponent(query).replace(/\)/g, '%29')}`) .setURL(`https://en.wikipedia.org/wiki/${encodeURIComponent(query).replaceAll(')', '%29')}`)
.setDescription(shorten(data.extract.replace(/\n/g, '\n\n'))); .setDescription(shorten(data.extract.replaceAll('\n', '\n\n')));
return msg.embed(embed); return msg.embed(embed);
} catch (err) { } catch (err) {
return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`); return msg.reply(`Oh no, an error occurred: \`${err.message}\`. Try again later!`);
+2 -2
View File
@@ -52,11 +52,11 @@ module.exports = class SoundboardCommand extends Command {
prompt: `What sound do you want to play? Either ${list(sounds, 'or')}.`, prompt: `What sound do you want to play? Either ${list(sounds, 'or')}.`,
type: 'string', type: 'string',
validate: sound => { validate: sound => {
const choice = sound.toLowerCase().replace(/ /g, '-'); const choice = sound.toLowerCase().replaceAll(' ', '-');
if (sounds.includes(choice)) return true; if (sounds.includes(choice)) return true;
return `You provided an invalid sound. Please choose either ${list(sounds, 'or')}.`; return `You provided an invalid sound. Please choose either ${list(sounds, 'or')}.`;
}, },
parse: sound => `${sound.toLowerCase().replace(/ /g, '-')}.mp3` parse: sound => `${sound.toLowerCase().replaceAll(' ', '-')}.mp3`
} }
] ]
}); });
+4 -4
View File
@@ -28,23 +28,23 @@
}, },
"homepage": "https://github.com/dragonfire535/xiao#readme", "homepage": "https://github.com/dragonfire535/xiao#readme",
"engines": { "engines": {
"node": ">=12" "node": ">=15"
}, },
"dependencies": { "dependencies": {
"@discordjs/collection": "^0.1.6", "@discordjs/collection": "^0.1.6",
"@discordjs/opus": "^0.3.2", "@discordjs/opus": "^0.3.2",
"@vitalets/google-translate-api": "^4.0.0", "@vitalets/google-translate-api": "^4.0.0",
"aki-api": "^5.1.1", "aki-api": "^5.2.0",
"canvas": "^2.6.1", "canvas": "^2.6.1",
"cheerio": "^1.0.0-rc.3", "cheerio": "^1.0.0-rc.3",
"cloc": "^2.7.0", "cloc": "^2.7.0",
"common-tags": "^1.8.0", "common-tags": "^1.8.0",
"custom-translate": "^2.2.8", "custom-translate": "^2.2.8",
"didyoumean2": "^4.1.0", "didyoumean2": "^4.1.0",
"discord.js": "^12.3.1", "discord.js": "^12.4.1",
"discord.js-commando": "github:discordjs/Commando", "discord.js-commando": "github:discordjs/Commando",
"dotenv": "^8.2.0", "dotenv": "^8.2.0",
"eslint": "^7.11.0", "eslint": "^7.12.0",
"gifencoder": "^2.0.1", "gifencoder": "^2.0.1",
"gm": "^1.23.1", "gm": "^1.23.1",
"html-entities": "^1.3.1", "html-entities": "^1.3.1",
+2 -2
View File
@@ -6,7 +6,7 @@ module.exports = class Pokemon {
constructor(store, data) { constructor(store, data) {
this.store = store; this.store = store;
this.id = data.id; this.id = data.id;
const slugName = firstUpperCase(data.name).replace(/-/g, ' '); const slugName = firstUpperCase(data.name).replaceAll('-', ' ');
this.name = data.names.length this.name = data.names.length
? data.names.find(entry => entry.language.name === 'en').name ? data.names.find(entry => entry.language.name === 'en').name
: slugName; : slugName;
@@ -22,7 +22,7 @@ module.exports = class Pokemon {
this.varieties = data.varieties.map(variety => { this.varieties = data.varieties.map(variety => {
const name = firstUpperCase(variety.pokemon.name const name = firstUpperCase(variety.pokemon.name
.replace(new RegExp(`${this.slug}-?`, 'i'), '') .replace(new RegExp(`${this.slug}-?`, 'i'), '')
.replace(/-/g, ' ')); .replaceAll('-', ' '));
return { return {
id: variety.pokemon.name, id: variety.pokemon.name,
name: name || null, name: name || null,
+1 -1
View File
@@ -28,6 +28,6 @@ module.exports = class PokemonStore extends Collection {
} }
makeSlug(query) { makeSlug(query) {
return encodeURIComponent(query.toLowerCase().replace(/ /g, '-').replace(/[^a-zA-Z0-9-]/g, '')); return encodeURIComponent(query.toLowerCase().replaceAll(' ', '-').replace(/[^a-zA-Z0-9-]/g, ''));
} }
}; };
+2 -2
View File
@@ -156,7 +156,7 @@ module.exports = class Util {
} }
static embedURL(title, url, display) { static embedURL(title, url, display) {
return `[${title}](${url.replace(/\)/g, '%27')}${display ? ` "${display}"` : ''})`; return `[${title}](${url.replaceAll(')', '%29')}${display ? ` "${display}"` : ''})`;
} }
static stripInvites(str, { guild = true, bot = true, text = '[redacted invite]' } = {}) { static stripInvites(str, { guild = true, bot = true, text = '[redacted invite]' } = {}) {
@@ -209,7 +209,7 @@ module.exports = class Util {
if (removeLineBreaks) clean = clean.replace(/\r|\n|\f/g, ''); if (removeLineBreaks) clean = clean.replace(/\r|\n|\f/g, '');
clean = entities.decode(clean); clean = entities.decode(clean);
clean = clean clean = clean
.replace(/<br/g, '\n') .replaceAll('<br>', '\n')
.replace(/<\/?i>/g, '*') .replace(/<\/?i>/g, '*')
.replace(/<\/?b>/g, '**') .replace(/<\/?b>/g, '**')
.replace(/~!|!~/g, '||'); .replace(/~!|!~/g, '||');