Skip to content

Commit

Permalink
refactor(i18n): export i18n as a module with configurations and pre-s…
Browse files Browse the repository at this point in the history
…et language

Move i18n to its own module with set configuration and locale instead of repeating the configuration
in every command file
  • Loading branch information
eritislami committed Sep 7, 2021
1 parent 439f122 commit 935087a
Show file tree
Hide file tree
Showing 28 changed files with 108 additions and 178 deletions.
34 changes: 0 additions & 34 deletions .github/workflows/codeql-analysis.yml

This file was deleted.

8 changes: 3 additions & 5 deletions commands/clip.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
const { PREFIX, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");
i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "clip",
description: i18n.__('clip.description'),
description: i18n.__("clip.description"),
async execute(message, args) {
const { channel } = message.member.voice;
const queue = message.client.queue.get(message.guild.id);
Expand Down Expand Up @@ -33,7 +31,7 @@ module.exports = {
message.client.queue.delete(message.guild.id);
channel.leave();
})
.on("error", err => {
.on("error", (err) => {
message.client.queue.delete(message.guild.id);
channel.leave();
console.error(err);
Expand Down
11 changes: 4 additions & 7 deletions commands/clips.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,16 @@
const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");
const i18n = require("../util/i18n");
const fs = require("fs");

i18n.setLocale(LOCALE);

module.exports = {
name: "clips",
description: i18n.__('clips.description'),
description: i18n.__("clips.description"),
execute(message) {
fs.readdir("./sounds", function(err, files) {
fs.readdir("./sounds", function (err, files) {
if (err) return console.log("Unable to read directory: " + err);

let clips = [];

files.forEach(function(file) {
files.forEach(function (file) {
clips.push(file.substring(0, file.length - 4));
});

Expand Down
5 changes: 1 addition & 4 deletions commands/help.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
const { MessageEmbed } = require("discord.js");
const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "help",
Expand Down
7 changes: 2 additions & 5 deletions commands/invite.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "invite",
description: i18n.__('invite.description'),
description: i18n.__("invite.description"),
execute(message) {
return message.member
.send(
Expand Down
6 changes: 2 additions & 4 deletions commands/loop.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "loop",
Expand Down
5 changes: 1 addition & 4 deletions commands/lyrics.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
const { MessageEmbed } = require("discord.js");
const lyricsFinder = require("lyrics-finder");
const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "lyrics",
Expand Down
6 changes: 2 additions & 4 deletions commands/move.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
const move = require("array-move");
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "move",
Expand Down
6 changes: 1 addition & 5 deletions commands/nowplaying.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
const { splitBar } = require("string-progressbar");
const { MessageEmbed } = require("discord.js");

const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "np",
Expand Down
6 changes: 2 additions & 4 deletions commands/pause.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "pause",
Expand Down
5 changes: 1 addition & 4 deletions commands/ping.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "ping",
Expand Down
6 changes: 2 additions & 4 deletions commands/play.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
const i18n = require("../util/i18n");
const { play } = require("../include/play");
const ytdl = require("ytdl-core");
const YouTubeAPI = require("simple-youtube-api");
const scdl = require("soundcloud-downloader").default;
const https = require("https");
const { YOUTUBE_API_KEY, SOUNDCLOUD_CLIENT_ID, LOCALE, DEFAULT_VOLUME } = require("../util/EvobotUtil");
const { YOUTUBE_API_KEY, SOUNDCLOUD_CLIENT_ID, DEFAULT_VOLUME } = require("../util/Util");
const youtube = new YouTubeAPI(YOUTUBE_API_KEY);
const i18n = require("i18n");

i18n.setLocale(LOCALE);

module.exports = {
name: "play",
Expand Down
13 changes: 2 additions & 11 deletions commands/playlist.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
const i18n = require("../util/i18n");
const { MessageEmbed } = require("discord.js");
const { play } = require("../include/play");
const YouTubeAPI = require("simple-youtube-api");
const scdl = require("soundcloud-downloader").default;

const {
YOUTUBE_API_KEY,
SOUNDCLOUD_CLIENT_ID,
MAX_PLAYLIST_SIZE,
DEFAULT_VOLUME,
LOCALE
} = require("../util/EvobotUtil");
const { YOUTUBE_API_KEY, SOUNDCLOUD_CLIENT_ID, MAX_PLAYLIST_SIZE, DEFAULT_VOLUME } = require("../util/Util");
const youtube = new YouTubeAPI(YOUTUBE_API_KEY);
const i18n = require("i18n");

i18n.setLocale(LOCALE);

module.exports = {
name: "playlist",
Expand Down
7 changes: 2 additions & 5 deletions commands/pruning.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
const fs = require("fs");
const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

let config;

Expand All @@ -14,7 +11,7 @@ try {

module.exports = {
name: "pruning",
description: i18n.__('pruning.description'),
description: i18n.__("pruning.description"),
execute(message) {
if (!config) return;
config.PRUNING = !config.PRUNING;
Expand Down
5 changes: 1 addition & 4 deletions commands/queue.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
const { MessageEmbed } = require("discord.js");
const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "queue",
Expand Down
5 changes: 2 additions & 3 deletions commands/remove.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");
i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

const pattern = /^[0-9]{1,2}(\s*,\s*[0-9]{1,2})*$/;

Expand Down
8 changes: 3 additions & 5 deletions commands/resume.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "resume",
aliases: ["r"],
description: i18n.__('resume.description'),
description: i18n.__("resume.description"),
execute(message) {
const queue = message.client.queue.get(message.guild.id);
if (!queue) return message.reply(i18n.__("resume.errorNotQueue")).catch(console.error);
Expand Down
6 changes: 2 additions & 4 deletions commands/search.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
const { MessageEmbed } = require("discord.js");
const YouTubeAPI = require("simple-youtube-api");
const { YOUTUBE_API_KEY, LOCALE } = require("../util/EvobotUtil");
const { YOUTUBE_API_KEY } = require("../util/Util");
const youtube = new YouTubeAPI(YOUTUBE_API_KEY);
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "search",
Expand Down
10 changes: 4 additions & 6 deletions commands/shuffle.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "shuffle",
description: i18n.__('shuffle.description'),
description: i18n.__("shuffle.description"),
execute(message) {
const queue = message.client.queue.get(message.guild.id);
if (!queue) return message.channel.send(i18n.__("shuffle.errorNotQueue")).catch(console.error);
Expand All @@ -18,6 +16,6 @@ module.exports = {
}
queue.songs = songs;
message.client.queue.set(message.guild.id, queue);
queue.textChannel.send(i18n.__mf('shuffle.result', {author: message.author})).catch(console.error);
queue.textChannel.send(i18n.__mf("shuffle.result", { author: message.author })).catch(console.error);
}
};
6 changes: 2 additions & 4 deletions commands/skip.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "skip",
Expand Down
6 changes: 2 additions & 4 deletions commands/skipto.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "skipto",
Expand Down
8 changes: 3 additions & 5 deletions commands/stop.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "stop",
description: i18n.__('stop.description'),
description: i18n.__("stop.description"),
execute(message) {
const queue = message.client.queue.get(message.guild.id);

Expand Down
9 changes: 3 additions & 6 deletions commands/uptime.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
const { LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const i18n = require("../util/i18n");

module.exports = {
name: "uptime",
aliases: ["u"],
description: i18n.__('uptime.description'),
description: i18n.__("uptime.description"),
execute(message) {
let seconds = Math.floor(message.client.uptime / 1000);
let minutes = Math.floor(seconds / 60);
Expand All @@ -18,7 +15,7 @@ module.exports = {
hours %= 24;

return message
.reply(i18n.__mf('uptime.result', {days: days, hours: hours, minutes: minutes, seconds: seconds}))
.reply(i18n.__mf("uptime.result", { days: days, hours: hours, minutes: minutes, seconds: seconds }))
.catch(console.error);
}
};
9 changes: 4 additions & 5 deletions commands/volume.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
const { canModifyQueue, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");

i18n.setLocale(LOCALE);
const { canModifyQueue } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
name: "volume",
Expand All @@ -14,7 +12,8 @@ module.exports = {
if (!canModifyQueue(message.member))
return message.reply(i18n.__("volume.errorNotChannel")).catch(console.error);

if (!args[0]) return message.reply(i18n.__mf("volume.currentVolume", { volume: queue.volume })).catch(console.error);
if (!args[0])
return message.reply(i18n.__mf("volume.currentVolume", { volume: queue.volume })).catch(console.error);
if (isNaN(args[0])) return message.reply(i18n.__("volume.errorNotNumber")).catch(console.error);
if (Number(args[0]) > 100 || Number(args[0]) < 0)
return message.reply(i18n.__("volume.errorNotValid")).catch(console.error);
Expand Down
7 changes: 3 additions & 4 deletions include/play.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
const ytdl = require("ytdl-core-discord");
const scdl = require("soundcloud-downloader").default;
const { canModifyQueue, STAY_TIME, LOCALE } = require("../util/EvobotUtil");
const i18n = require("i18n");
i18n.setLocale(LOCALE);
const { canModifyQueue, STAY_TIME } = require("../util/Util");
const i18n = require("../util/i18n");

module.exports = {
async play(song, message) {
const { SOUNDCLOUD_CLIENT_ID } = require("../util/EvobotUtil");
const { SOUNDCLOUD_CLIENT_ID } = require("../util/Util");

let config;

Expand Down
Loading

0 comments on commit 935087a

Please sign in to comment.