Skip to content

Commit be539c0

Browse files
authored
Merge pull request #14 from Ezzud/v1.4.3
1.4.3 BETA
2 parents 63ee15b + 36dd53f commit be539c0

23 files changed

+764
-502
lines changed

commands/create.js

Lines changed: 154 additions & 132 deletions
Large diffs are not rendered by default.

commands/help.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

commands/info.js

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const moment = require('moment');
55
const fs = require('fs');
66
const Topgg = require(`@top-gg/sdk`)
77
const config = require('../config.json')
8+
const QuickChart = require('quickchart-js');
89
var api;
910
if (config.topggEnabled === true) {
1011
api = new Topgg.Api(config.topggToken)
@@ -54,10 +55,7 @@ module.exports.run = async (client, pf, message, args, manager,json,lang) => {
5455
hours = roundTowardsZero(remainingTime / 3600000) % 24,
5556
minutes = roundTowardsZero(remainingTime / 60000) % 60,
5657
seconds = roundTowardsZero(remainingTime / 1000) % 60;
57-
let d;
58-
let h;
59-
let m;
60-
let s;
58+
let d,h,m,s;
6159
if(days > 0) {
6260
d = `${days} ${lang.infoDays}`
6361
} else if(days === 0) {
@@ -102,21 +100,33 @@ module.exports.run = async (client, pf, message, args, manager,json,lang) => {
102100
if (config.topggEnabled === true) {
103101
votes = await api.getVotes()
104102
}
103+
104+
const pingChart = new QuickChart();
105+
await pingChart.setConfig({
106+
type: 'bar',
107+
data: { labels: ['1m ago',"45s ago","30s ago",'15s ago', 'Now'], datasets: [{ label: 'Average API ping', data: client.pinglist }] },
108+
});
109+
pingChart.setWidth(400).setHeight(200).setBackgroundColor('transparent');
110+
111+
112+
var chart = await pingChart.getShortUrl();
113+
105114
var embed = new Discord.MessageEmbed()
106115
.setTitle(lang.infoTitle)
107-
.setColor('#e4b400')
116+
.setColor('#F5E351')
108117
.setThumbnail(client.user.avatarURL())
109118
.addField(lang.infoPingTitle.split("%loading%").join(loadings), `${lang.infoPingField.split("%messagePing%").join(messagePing).split("%apiPing%").join(apiPing)}`, true)
110-
.addField(lang.infoShardsTitle.split("%shard%").join(getEmoji("sharding")), `${lang.infoShardsField.split("%activeShards%").join(count3).split("%maxShards%").join(client.shard.count).split("%shard%").join(client.shard.ids[0])}`, true)
119+
.addField(lang.infoShardsTitle.split("%shard%").join(getEmoji("sharding")), `${lang.infoShardsField.split("%activeShards%").join(count3).split("%maxShards%").join(client.shard.count).split("%shard%").join(client.shard.ids[0])}`, false)
111120
.addField(lang.infoUptimeTitle.split("%uptime%").join(getEmoji("computer")), `${lang.infoUptimeField.split("%uptime%").join(msg)}`, false);
112121
if (config.topggEnabled === true) {
113122
embed.addField(lang.infoVotesTitle.split("%vote%").join(":inbox_tray:"), `${lang.infoVotesField.split("%votes%").join(votes.length)}`, true)
114123
}
115124
embed.addField(lang.infoMemoryTitle.split("%memory%").join(getEmoji("memoire")), `${lang.infoMemoryField.split("%memory%").join(bts(memory.heapUsed))}`, true)
116125
.addField(lang.infoDevTitle.split("%dev%").join(getEmoji("dev")), `${lang.infoDevField}`, true)
117-
.addField(lang.infoServersTitle, `${lang.infoServersField.split("%servers%").join(req)}`, false)
118-
.addField(lang.infoChangelogTitle, `${lang.infoChangelogField.split("%version%").join(json.version).split("%changelogs%").join(json.changelog)}`, false)
126+
.addField(lang.infoChangelogTitle, `${lang.infoChangelogField.split("%version%").join(json.version).split("%changelogs%").join(`[Github](https://github.com/Ezzud/tadaa) - [Website](https://ezzud.fr)`)}`, false)
127+
.addField(lang.infoServersTitle, `${lang.infoServersField.split("%servers%").join(req)}`, true)
119128
.addField(`\u200B`, lang.infoSupportField)
129+
.setImage(chart)
120130
.setFooter(lang.footer.split("%version%").join(json.version), message.author.avatarURL());
121131

122132
await message.channel.send(embed)

commands/list.js

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ var util = require('util');
77
const log_stdout = process.stdout;
88
var path = require('path');
99
var commandname = path.basename(__filename);
10+
const loadings = `<a:erjbgtuezrftetgfret:688433071573565440>`
1011

1112
module.exports.run = async (client, pf, message, args, manager,json,lang) => {
1213
console.log = function(d) {
@@ -23,64 +24,63 @@ console.log = function(d) {
2324
return;
2425
}
2526
}
27+
2628
let permembed = new Discord.MessageEmbed().setColor('E93C21').setAuthor(message.author.tag, message.author.avatarURL(), `https://github.com/Ezzud/tadaa`).setDescription(lang.GWNoBotPermission.split("%nope%").join(client.nope)).setFooter(lang.footer.split("%version%").join(json.version))
2729
if (!message.guild.member(client.user).hasPermission(379968)) return (message.channel.send(permembed));
30+
31+
var embed = new Discord.MessageEmbed()
32+
.setAuthor(lang.listEmbedTitle, client.user.avatarURL())
33+
.setColor(`#F79430`)
34+
.addField(`\u200B`, `${loadings} Loading active giveaways...`)
35+
.addField(lang.listEmbedInfoTitle, lang.listEmbedInfoField)
36+
.setFooter(lang.footer.split("%version%").join(json.version), message.author.avatarURL())
37+
.setTimestamp()
38+
let mm = await message.channel.send(embed)
2839
let onServer;
2940
onServer = client.giveawaysManager.giveaways.filter((g) => g.guildID === message.guild.id);
3041
onServer = onServer.filter((g) => g.ended !== true);
31-
let onServer2;
32-
let onServer3;
33-
let onServer4;
34-
if (!onServer) {
35-
onServer = 'Aucun :('
36-
} else {
37-
onServer = onServer.map(g => `${lang.listGiveawaysMap.split("%prize%").join(g.prize).split("%endDate%").join(`${moment(new Date(g.endAt).setHours(new Date(g.endAt).getHours() + 1)).format('L')} ${moment(new Date(g.endAt).setHours(new Date(g.endAt).getHours() + 1)).format('LT')}`).split("%endAt%").join(moment(g.endAt).fromNow())} [${lang.listGiveawaysAccessButton}](https://discordapp.com/channels/${g.guildID}/${g.channelID}/${g.messageID})::`)
38-
onServer = Array.from(onServer)
39-
if (onServer[6] !== undefined && onServer[10] !== undefined) {
40-
onServer2 = onServer.slice(6, 10)
41-
onServer2 = onServer2.toString().replace(/::/g, `\n`).replace(/,/g, ``)
42-
} else {
43-
onServer2 = `\u200B`;
44-
}
45-
if (onServer[11] !== undefined && onServer[15] !== undefined) {
46-
onServer3 = onServer.slice(11, 15)
47-
onServer3 = onServer3.toString().replace(/::/g, `\n`).replace(/,/g, ``)
48-
} else {
49-
onServer3 = `\u200B`;
42+
var list = [""]
43+
var firstvalue = 0
44+
var i = 0
45+
for(i in onServer) {
46+
if(list[firstvalue].length >= 900) {
47+
list[firstvalue + 1] = ""
48+
var giveaway = onServer[i];
49+
var formatedDate = giveaway.endAt.toString();
50+
formatedDate = formatedDate.substring(0, formatedDate.length - 3)
51+
formatedDate = parseInt(formatedDate)
52+
var msg = `:gift: ${giveaway.prize} - <t:${formatedDate}> (<t:${formatedDate}:R>) - <#${giveaway.channelID}>`
53+
list[firstvalue + 1] = `${list[firstvalue + 1]}${msg}\n`
54+
firstvalue++
55+
i++
56+
} else {
57+
var giveaway = onServer[i];
58+
var formatedDate = giveaway.endAt.toString();
59+
formatedDate = formatedDate.substring(0, formatedDate.length - 3)
60+
formatedDate = parseInt(formatedDate)
61+
var msg = `:gift: ${giveaway.prize} - <t:${formatedDate}> (<t:${formatedDate}:R>) - <#${giveaway.channelID}>`
62+
list[firstvalue] = `${list[firstvalue]}${msg}\n`
63+
i++
64+
}
65+
5066
}
51-
if (onServer[16] !== undefined && onServer[20] !== undefined) {
52-
onServer4 = onServer.slice(16, 20)
53-
onServer4 = onServer4.toString().replace(/::/g, `\n`).replace(/,/g, ``)
67+
var embed = new Discord.MessageEmbed()
68+
.setAuthor(lang.listEmbedTitle, client.user.avatarURL())
69+
.setColor(`#2ADAEF`)
70+
var listing = 0;
71+
for(listing in list) {
72+
if(listing === 0) {
73+
embed.addField(`\u200B`, list[listing] || listEmbedNoGiveaway);
5474
} else {
55-
onServer4 = `\u200B`;
75+
embed.addField(`\u200B`, list[listing] || `\u200B`);
5676
}
57-
onServer = onServer.slice(0, 5)
58-
onServer = onServer.toString().replace(/::/g, `\n`).replace(/,/g, ``)
59-
}
60-
if (onServer.lenght > 1000) {
61-
onServer = 'Aucun :('
62-
}
63-
if (onServer2.lenght > 1000) {
64-
onServer2 = `\u200B`
65-
}
66-
if (onServer3.lenght > 1000) {
67-
onServer3 = `\u200B`
77+
78+
listing++;
6879
}
69-
if (onServer4.lenght > 1000) {
70-
onServer4 = `\u200B`
71-
}
72-
var embed = new Discord.MessageEmbed()
73-
.setAuthor(lang.listEmbedTitle)
74-
.setThumbnail(client.user.avatarURL())
75-
.setColor(`#F79430`)
76-
.addField(`\u200B`, onServer || lang.listEmbedNoGiveaway)
77-
.addField(`\u200B`, `${onServer2 || `\u200B`}`)
78-
.addField(`\u200B`, `${onServer3 || `\u200B`}`)
79-
.addField(`\u200B`, `${onServer4 || `\u200B`}\n\n\u200B`)
80-
.addField(lang.listEmbedInfoTitle, lang.listEmbedInfoField)
80+
embed.addField(lang.listEmbedInfoTitle, lang.listEmbedInfoField)
8181
.setFooter(lang.footer.split("%version%").join(json.version), message.author.avatarURL())
8282
.setTimestamp()
83-
message.channel.send(embed)
83+
await mm.edit(embed)
8484
}
8585
module.exports.help = {
8686
name: "list"

commands/ping.js

Lines changed: 6 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,19 @@
11
'use strict';
22
const Discord = require("discord.js");
33
const moment = require('moment');
4-
const fs = require('fs')
5-
var util = require('util');
6-
const log_stdout = process.stdout;
7-
var path = require('path');
8-
var commandname = path.basename(__filename);
4+
95
module.exports.run = async (client, pf, message, args, manager, json, lang) => {
10-
console.log = function(d) {
11-
let date = new Date();
12-
date.setHours(date.getHours() + 2); //
13-
fs.appendFileSync(`${client.logs_path}`, `\n(${commandname}) ${moment(date).format('MM-D-YYYY hh:mm')} | ${d}`, "UTF-8", {
14-
'flags': 'a+'
15-
});
16-
log_stdout.write(`SHARD #${client.shard.ids[0]} ` + util.format(d) + '\n');
17-
};
186
var messagePing = new Date().getTime() - message.createdTimestamp
197
var apiPing = Math.trunc(client.ws.ping)
208
let color;
21-
if (apiPing + messagePing > 800) {
22-
color = ':red_circle: '
23-
} else if (apiPing + messagePing > 400) {
24-
color = ':orange_circle: '
9+
if (apiPing + messagePing > 500) {
10+
color = client.dnd
11+
} else if (apiPing + messagePing > 250) {
12+
color = client.afk
2513
} else {
26-
color = ':green_circle:'
14+
color = client.online
2715
}
28-
// let embed = new Discord.MessageEmbed().setAuthor(message.author.tag, message.author.avatarURL(), `https://github.com/Ezzud/tadaa`).setColor('17F0C9').addField(`\u200B`, lang.pingStart).setFooter(lang.footer.split("%version%").join(json.version))
2916
message.channel.send(lang.pingEnd.split("%messagePing%").join(messagePing).split("%apiPing%").join(apiPing).split("%color%").join(color))
30-
/* message.channel.send(lang.pingStart).then(msg => {
31-
32-
let embed = new Discord.MessageEmbed().setAuthor(message.author.tag, message.author.avatarURL(), `https://github.com/Ezzud/tadaa`).setColor(color).addField(`\u200B`, lang.pingEnd.split("%messagePing%").join(messagePing).split("%apiPing%").join(apiPing)).setFooter(lang.footer.split("%version%").join(json.version))
33-
34-
msg.edit(lang.pingEnd.split("%messagePing%").join(messagePing).split("%apiPing%").join(apiPing).split("%color%").join(color))
35-
36-
})*/
3717
}
3818
module.exports.help = {
3919
name: "ping"

commands/reload.js

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,40 @@ const loadings = `<a:erjbgtuezrftetgfret:688433071573565440>`
2525
function getEmoji(name) {
2626
return `<:${name}:${emojiMap[name]}>`;
2727
}
28-
module.exports.run = async (client, pf, message, args, manager,json,lang) => {
29-
console.log = function(d) {
30-
let date = new Date();
31-
date.setHours(date.getHours() + 2); //
32-
fs.appendFileSync(`${client.logs_path}`, `\n(${commandname}) ${moment(date).format('MM-D-YYYY hh:mm')} | ${d}`, "UTF-8",{'flags': 'a+'});
33-
log_stdout.write(`SHARD #${client.shard.ids[0]} ` + util.format(d) + '\n');
34-
};
28+
module.exports.run = async (client, pf, message, args, manager, json, lang) => {
29+
console.log = function(d) {
30+
let date = new Date();
31+
date.setHours(date.getHours() + 2); //
32+
fs.appendFileSync(`${client.logs_path}`, `\n(${commandname}) ${moment(date).format('MM-D-YYYY hh:mm')} | ${d}`, "UTF-8", {
33+
'flags': 'a+'
34+
});
35+
log_stdout.write(`SHARD #${client.shard.ids[0]} ` + util.format(d) + '\n');
36+
};
3537
if (message.author.id === settings.ownerID) {
3638
let emoji = loadings;
3739
let reloadEmbed = new Discord.MessageEmbed().setColor('D7E921').setDescription(`\u200B`).setAuthor(message.author.tag, message.author.avatarURL(), `https://github.com/Ezzud/tadaa`).addField(`\nEtat`, `${emoji} Redémarrage du shard \` ${client.shard.ids[0]} \` en cours\n\u200B`).setFooter(`TADAA | v${json.version}`)
38-
await message.channel.send(reloadEmbed);
40+
let sendedMessage = await message.channel.send(reloadEmbed);
3941
let dater = new Date().getTime();
40-
await client.destroy()
41-
await client.login(settings.token)
42+
async function addCommands() {
43+
await fs.readdir("./commands/", async (err, files) => {
44+
if (err) console.log(err);
45+
var jsfile = files.filter(f => f.split(".").pop() === "js");
46+
if (jsfile.length <= 0) {
47+
console.log("../commands/ is empty!");
48+
return;
49+
}
50+
var f;
51+
for (f in jsfile) {
52+
const commandName = jsfile[f].split(".")[0];
53+
delete require.cache[require.resolve(`./${commandName}.js`)];
54+
await client.commands.delete(commandName);
55+
const props = require(`../commands/${commandName}.js`);
56+
await client.commands.set(commandName, props);
57+
}
58+
console.log(`\x1b[32m` + ` \x1b[32mSuccesfully reloaded \x1b[33m${client.commands.size} \x1b[32mcommands` + `\x1b[0m`);
59+
});
60+
}
61+
await addCommands()
4262
let datef = new Date().getTime();
4363
let time = datef - dater;
4464
time = time / 1000
@@ -52,8 +72,8 @@ console.log = function(d) {
5272
values.forEach((value) => {
5373
count = count + 1
5474
});
55-
let reloadedEmbed = new Discord.MessageEmbed().setColor('5BCA2F').setDescription(`\u200B`).setAuthor(message.author.tag, message.author.avatarURL(), `https://github.com/Ezzud/tadaa`).addField(`\nEtat`, `${client.okay} Redémarrage du shard \` ${client.shard.ids[0]} \` effectué (*${time}s*)`).addField(`Shards`, `\`${count}\`/\`${client.shard.count}\`\n\u200B`).setFooter(`TADAA | v${json.version}`)
56-
await message.channel.send(reloadedEmbed)
75+
let reloadedEmbed = new Discord.MessageEmbed().setColor('5BCA2F').setDescription(`\u200B`).setAuthor(message.author.tag, message.author.avatarURL(), `https://github.com/Ezzud/tadaa`).addField(`\nEtat`, `${client.okay} Redémarrage du shard \` ${client.shard.ids[0]} \` effectué (*${time}s*)\nCommandes rechargées: **${client.commands.size}**`).addField(`Shards`, `\`${count}\`/\`${client.shard.count}\`\n\u200B`).setFooter(lang.footer.split("%version%").join(json.version))
76+
await sendedMessage.edit(reloadedEmbed)
5777
}
5878
}
5979
module.exports.help = {

0 commit comments

Comments
 (0)