├── LICENSE
├── README.md
├── _config.yml
├── commands
├── anime.js
├── avatar.js
├── ban.js
├── bot.js
├── channel.js
├── commands.js
├── emojis.js
├── giverole.js
├── idenity.js
├── invite.js
├── kick.js
├── luck.js
├── member.js
├── meme.js
├── mute.js
├── own.js
├── ping.js
├── profile.js
├── register.js
├── role.js
├── roles.js
├── server.js
├── set-prefix.js
├── support.js
├── test.js
├── unmute.js
├── uptime.js
└── user.js
├── data
├── botconfig.json
├── colors.json
├── commands.json
├── idenities.json
├── prefixes.json
└── profile.json
├── index.js
├── package-lock.json
└── start.bat
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 antidota
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # N A R O X;
2 | 
3 |
4 | #DEVELOPERS
5 |
6 |
7 |
8 |
9 |
10 | Discord Bot With some Customizable options and new Styles , u should try that man !
11 | ### Features:
12 | - anime => display anime info
13 | - avatar => display user avatar
14 | - bot => display bot info
15 | - channel => display channel info
16 | - emojis => display emojis list
17 | - role => give someone a role
18 | - invite => display bot invite link
19 | - ping => display bot ping
20 | - roles => display roles list
21 | - server => display server info
22 | - user => epic command man ! you should try this ! for display userinfo
23 | ### Requires:
24 | - Node.js
25 | - [discord.js](https://www.npmjs.com/package/discord.js)
26 | - lots of Node.js modules check package.json
27 | # Installition.
28 | 1 -The Bot is Writted and runned by node.js download that [Node.js](https://nodejs.org/en/download/)
29 |
30 | 2 - press clone or download button and launch!
31 |
32 | `sometimes you need to install packages so try`
33 | ```fix
34 | npm install discord.js
35 | npm install common-tags
36 | npm install file-system
37 | npm install fs
38 | npm install mal-scraper
39 | npm install moment
40 | npm install node-url-shortener
41 | npm install os
42 | npm install pastebin-js
43 | npm install random-puppy
44 | npm install string-similarity
45 | npm install superagent
46 | ```
47 | # Help ?
48 |
49 | if You Need Help Dm Me on Discord Tag; `YATO#0018`&
50 | or request Issues!
51 | # alpha.
52 | [](https://discord.gg/alpha)
53 |
54 | ` ALPHA is Here `
55 |
56 |
57 | "ALPHA Is Best Arabic Server Developer"
58 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-hacker
--------------------------------------------------------------------------------
/commands/anime.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const malscraper = require('mal-scraper');
3 | const talkedRecently = new Set();
4 | let moment = require("moment")
5 | const botconfig = require("../data/botconfig.json");
6 | const fs = require("file-system")
7 |
8 | exports.run = async (client, message, args) => {
9 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
10 | const color = colors[message.guild.id].color || botconfig.color
11 | const search = `${args}`;
12 | let ok = client.emojis.get("555556347060551701")
13 | if(!search) return message.channel.send(`**${message.author} ${ok} | Please Type anime name **.`)
14 | let em = client.emojis.get("557362697482797066")
15 | const me = message.guild.members.get(client.user.id)
16 | var loal = message.member.displayHexColor
17 | if(loal === "#000000") loal = me.displayHexColor
18 | if(loal === "#000000") loal = color
19 | message.channel.send(`**${em} | Searching About; **`+"``"+search+"``").then(msg => {
20 | malscraper.getInfoFromName(search)
21 | .then((data) => {
22 |
23 | let charcters = data.characters.map(ch => `[${ch.name}](${ch.link}) , `).join("")
24 | let staff = data.staff.map(st => `[${st.name}](${st.link}) , `).join("")
25 | let embed = new Discord.RichEmbed()
26 | let title = data.japaneseTitle
27 | if(!charcters) return msg.edit(`**Sorry I Cant Find Any Result; `+"``"+search+"``"+` **.`);
28 | if(data.synonyms) title = data.japaneseTitle + ` [${data.synonyms}] ;`
29 | .setColor(loal)
30 | .setAuthor(`${data.title} Anime Information;`,data.picture || message.author.avatarURL || message.author.defaultAvatarURL)
31 | .setThumbnail(data.picture || message.author.avatarURL || message.author.defaultAvatarURL)
32 | .setFooter(`Informations By;`,"https://cdn.myanimelist.net/img/sp/icon/apple-touch-icon-256.png")
33 | .setTimestamp()
34 | .setDescription("```css"+`
35 | Title; ${title}
36 | Platform; ${data.type}
37 | Score; ${data.score}
38 | Scored By; ${data.scoreStats.slice(10)}
39 | Count Of People; ${data.members}
40 | Episodes; [${data.episodes}] ${data.duration}
41 | Studios; ${data.studios}
42 | Source; ${data.source}
43 | `+"```")
44 | .addField(`Characters;`,`${charcters}`,true)
45 | .addField(`Genres;`,`${data.genres}`,true)
46 | .addField(`Staff;`,`${staff}`,true)
47 |
48 | msg.edit(embed)
49 | }) })
50 | .catch((err) => console.log(err));
51 |
52 |
53 | talkedRecently.add(message.author.id);
54 | setTimeout(() => {
55 | // Removes the user from the set after a minute
56 | talkedRecently.delete(message.author.id);
57 | }, 3000);
58 | }
59 |
60 | module.exports.help = {
61 | name: "anime"
62 | }
--------------------------------------------------------------------------------
/commands/avatar.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const fs = require("file-system")
3 | const botconfig = require("../data/botconfig.json");
4 | const shortUrl = require('node-url-shortener');
5 |
6 | module.exports.run = async (client, message, args) => {
7 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
8 | const color = colors[message.guild.id].color || botconfig.color
9 | var mention = message.mentions.users.first() || message.author
10 | var mentionuser = message.guild.member(mention)
11 | const me = message.guild.members.get(client.user.id)
12 | var loal = mentionuser.displayHexColor
13 | if(loal === "#000000") loal = me.displayHexColor
14 | if(loal === "#000000") loal = color
15 | let embed = new Discord.RichEmbed()
16 | .setAuthor(`${mention.tag}`)
17 | .setColor(`${loal}`)
18 | .setTimestamp()
19 | .setImage(`${mention.avatarURL}?size=128`)
20 | .setFooter(client.user.username,client.user.avatarURL)
21 |
22 | shortUrl.short(`${message.author.displayAvatarURL}`, function (err, avatarLink) {
23 |
24 | message.channel.send(`[ ${avatarLink} ]`,embed)
25 | })
26 | }
27 |
28 | module.exports.help = {
29 | name: "avatar"
30 | }
--------------------------------------------------------------------------------
/commands/ban.js:
--------------------------------------------------------------------------------
1 | const discord = require("discord.js");
2 |
3 | module.exports.run = async (bot, message, args) => {
4 | if (!message.member.hasPermission("BAN_MEMBERS")) return message.reply("You do not have the permission to execute this command!")
5 | let banMember = message.mentions.members.first() || message.guild.members.get(args[0])
6 | if (!banMember) return message.reply("Couldn't find the user that you're trying to ban!")
7 | if(banMember.highestRole.position >= message.guild.member(message.author).highestRole.positon) {
8 | message.channel.send("**You Can't Ban The Administrator !!**")
9 | }
10 | let reason = args.slice(1).join(" ")
11 | if (!reason) {
12 | const reason = "No reason provided."
13 | }
14 | if (!message.guild.me.hasPermission("BAN_MEMBERS")) return message.reply("Please give me the permission `BAN_MEMBERS`")
15 | if (!banMember.bannable) return message.reply("I cannot ban this user.")
16 | message.delete()
17 | banMember.send(`You have been banned from \`${message.guild.name}\` for: ${reason}`).then(() => {
18 | message.guild.ban(banMember, {
19 | reason: `${reason}`
20 | }).catch(e => message.channel.send("An error has occured with the command. Try again or join the support guild."))
21 | }).catch(err => message.guild.ban(banMember))
22 | message.channel.send(`**${banMember.user.tag} has been banned.**`)
23 | }
24 |
25 | module.exports.help = {
26 | name:"ban"
27 | }
28 |
--------------------------------------------------------------------------------
/commands/bot.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require('file-system');
4 | const os = require("os");
5 | var cpu = os.loadavg();
6 | exports.run = (client, message) => {
7 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
8 | const color = colors[message.guild.id].color || botconfig.color;
9 | const me = message.guild.members.get(client.user.id);
10 | var loal = message.member.displayHexColor ;
11 | if(loal === "#000000") loal = me.displayHexColor;
12 | if(loal === "#000000") loal = color;
13 | let ms = client.uptime;
14 | let cd = 24 * 60 * 60 * 1000; // Calc days
15 | let ch = 60 * 60 * 1000; // Calc hours
16 | let cm = 60 * 1000; // Calc minutes
17 | let cs = 1000; // Calc seconds
18 | let days = Math.floor(ms / cd);
19 | let dms = days * cd; // Days, in ms
20 | let hours = Math.floor((ms - dms) / ch);
21 | let hms = hours * ch; // Hours, in ms
22 | let minutes = Math.floor((ms - dms - hms) / cm);
23 | let mms = minutes * cm; // Minutes, in ms
24 | let seconds = Math.round((ms - dms - hms - mms) / cs);
25 | if (seconds === 60) {
26 | minutes++; // Increase by 1
27 | seconds = 0;
28 | }
29 | if (minutes === 60) {
30 | hours++; // Inc by 1
31 | minutes = 0;
32 | }
33 | if (hours === 24) {
34 | days++; // Increase by 1
35 | hours = 0;
36 | }
37 | let dateStrings = [];
38 | if (days === 1) {
39 | dateStrings.push('1 day');
40 | } else if (days > 1) {
41 | dateStrings.push('' + String(days) + '** days');
42 | }
43 | if (hours === 1) {
44 | dateStrings.push('1 hour');
45 | } else if (hours > 1) {
46 | dateStrings.push('' + String(hours) + '** hours');
47 | }
48 | if (minutes === 1) {
49 | dateStrings.push('1 minute');
50 | } else if (minutes > 1) {
51 | dateStrings.push('' + String(minutes) + ' minutes');
52 | }
53 | if (seconds === 1) {
54 | dateStrings.push('1 second');
55 | } else if (seconds > 1) {
56 | dateStrings.push('' + String(seconds) + ' seconds');
57 | }
58 | let dateString = '';
59 | for (let i = 0; i < dateStrings.length - 1; i++) {
60 | dateString += dateStrings[i];
61 | dateString += ', ';
62 | }
63 | if (dateStrings.length >= 2) {
64 | dateString = dateString.slice(0, dateString.length - 2) + dateString.slice(dateString.length - 1);
65 | dateString += 'and ';
66 | }
67 | dateString += dateStrings[dateStrings.length - 1];
68 | let embed = new Discord.RichEmbed()
69 | .setColor(loal)
70 | .setAuthor(client.user.username)
71 | .setThumbnail(client.user.avatarURL)
72 | .setDescription("```js"+`
73 | ID; ${client.user.id}
74 | Guilds; ${client.guilds.size}
75 | Users; ${client.users.size}
76 | Uptime; ${days}d. ${hours}h. ${minutes}m . ${seconds}s
77 | [${dateString}]`+"```")
78 | .setFooter(`✽ Client ReadyAt;`,client.user.avatarURL)
79 | .addField(`✽ Ping;`,`${Math.round(client.ping)} ms`,true)
80 | .addField(`✽ Narox Support;`,`[Click Here](https://discord.gg/ZeFUEpn)`,true)
81 | .addField(`✽ FrameWork;`,`
82 | Discord.JS; [11.3]
83 | Node.js; [6.9.0]`,true)
84 | .addField(`✽ Status;`,`
85 | MemoryUsage; ${Math.round(process.memoryUsage().rss / 1024 / 1024)} MB
86 | CpuUsage; ${Math.ceil(cpu[1] * 100) / 10} %`,true)
87 | .setTimestamp(client.readyTimestamp);
88 | message.channel.send(`[ ${message.author} ] `,embed);
89 |
90 | } ;
91 | module.exports.help = {
92 | name: 'bot'
93 | };
--------------------------------------------------------------------------------
/commands/channel.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const moment = require("moment");
3 | const fs = require("file-system")
4 | const botconfig = require("../data/botconfig.json");
5 | module.exports.run = async (client, message, args) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 | const color = colors[message.guild.id].color || botconfig.color
8 | let sorry = client.emojis.get("555556287589515274")
9 | args = message.content.split(" ").slice(1).join(" ").replace(' ','-')
10 | let channel = message.mentions.channels.first()
11 | let please = client.emojis.get("555556306346573838")
12 | if(!channel){
13 | channel = message.guild.channels.find("name",`${args}`)
14 | // if(!args) return message.channel.send(`**${sorry} | Type channelName or #channel please ** .`)
15 | }
16 | if(!channel){
17 | args = message.content.split(" ").slice(1).join(" ")
18 | channel = message.guild.channels.find("name",`${args}`)
19 | }
20 | if(!channel && message.member.voiceChannel)
21 | channel = message.member.voiceChannel
22 | if(!channel) channel = message.channel//return message.channel.send(`**${please} | Type channelName or #channel please ** .`)
23 |
24 |
25 | var me = message.guild.members.get(client.user.id)
26 | var loal = message.member.displayHexColor
27 | if(loal === "#000000") loal = me.displayHexColor
28 | if(loal === "#000000") loal = color
29 | var type = channel.type
30 | let nsfw = channel.nsfw
31 | if(type == "voice")
32 | type = "Voice"
33 | if(type == "text")
34 | type = "Text"
35 |
36 | let embed = new Discord.RichEmbed()
37 | .setColor(loal)
38 | .setAuthor(`${channel.name} Channel Information;`, message.guild.iconURL)
39 | if(type == "Text"){
40 | .setDescription("```js"+`
41 | ID; ${channel.id}
42 | Type; ${type}
43 | NFSW; ${nsfw}
44 |
45 | `+"```")
46 | }
47 | .setThumbnail(message.author.avatarURL || message.author.defaultAvatarURL)
48 |
49 | if(type == "Text"){
50 | if(channel.topic){
51 | .addField(`ChannelTopic;`,"```js"+`
52 | ${channel.topic}`+"```",true)
53 | }
54 |
55 |
56 | }
57 |
58 |
59 | if(type == "Voice"){
60 | if(channel.id == message.member.voiceChannel.id){
61 | let yaw = client.emojis.get("555235020306907146")
62 | .setDescription(`You Already In VoiceChannel ${yaw};`+"```js"+`
63 | ID; ${channel.id}
64 | ChannelType; ${type}
65 | `+"```")
66 | }
67 | if(channel.id != message.member.voiceChannel.id) {
68 | .setDescription("```js"+`
69 | ID; ${channel.id}
70 | ChannelType; ${type}
71 | `+"```")
72 | }
73 | if(channel.members.size != 0) {
74 | if(channel.members.size < 10) {
75 | .addField(`VoiceOnline;`,`${channel.members.map(r => `${r}`).join(" ")} [${channel.members.size}]`,true)
76 | }
77 | if(channel.members.size > 10){
78 | let yaw = client.emojis.get("555235020306907146")
79 | .addField(`VoiceOnline;`,`(${yaw}) -> [${channel.members.size}]`,true)
80 | }}}
81 | if(channel.parent) {
82 | .addField(`Category`,`**Name; **${channel.parent.name}
83 | **Childrens;** ${channel.parent.children.map(r => `${r};`).join("")}
84 | **ID;** ${channel.parent.id}`,true)
85 | }
86 | .setTimestamp(channel.createdTimestamp)
87 | .setFooter(`Channel CreatedAt;`,message.guild.iconURL || message.author.avatarURL || message.author.defaultAvatarURL)
88 | message.channel.send(embed)
89 | }
90 |
91 | module.exports.help = {
92 | name:"channel"
93 | }
94 |
95 |
--------------------------------------------------------------------------------
/commands/commands.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | module.exports.run = async (client, message, args) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 |
8 |
9 | let prefix = botconfig.prefix
10 | const color = colors[message.guild.id].color || botconfig.color
11 |
12 | var me = message.guild.members.get(client.user.id)
13 | var loal = message.member.displayHexColor
14 | if(loal === "#000000") loal = me.displayHexColor
15 | if(loal === "#000000") loal = color
16 | let embed = new Discord.RichEmbed()
17 | .setColor(loal)
18 | .setAuthor(`N A R O X CommandsList;`,message.author.avatarURL || message.author.defaultAvatarURL)
19 | .setDescription("|| ---------------------------------------------------------- ||```css"+`
20 | SelfCommands;
21 | ----------------------------------------
22 | [${prefix}user] GuildMember Informations;
23 | [${prefix}idenity] User IdenityCard;
24 | [${prefix}ping] Client / Bot Internet Connection;
25 | [${prefix}avatar] User Avatar;
26 | [${prefix}anime] Anime Informations;
27 | [${prefix}bot] Bot Informations / Status;
28 | ServersCommands;
29 | [${prefix}server] Guild / Server Informations;
30 | [${prefix}channel] Channel Information;
31 | [${prefix}emojis] Server Emojis List;
32 | [${prefix}role] Gives Someone Role;
33 | [${prefix}roleinfo] Role Informations;
34 | [${prefix}members] Members Status;
35 | [${prefix}roles] Server Roles List;
36 | [${prefix}channel] Channel Informations;
37 | []
38 | `+"```")
39 | .setFooter(client.user.username,client.user.avatarURL)
40 | message.channel.send(embed)
41 |
42 | }
43 | module.exports.help = {
44 | name: "commands"
45 | }
--------------------------------------------------------------------------------
/commands/emojis.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const fs = require("file-system")
3 | const botconfig = require("../data/botconfig.json");
4 |
5 | module.exports.run = async (client, message, args) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 | const color = colors[message.guild.id].color || botconfig.color
8 | const me = message.guild.members.get(client.user.id)
9 | var loal = message.member.displayHexColor
10 | if(loal === "#000000") loal = me.displayHexColor
11 | if(loal === "#000000") loal = color
12 | let emojis = message.guild.emojis.map(r => `${r}`).sort((a, b) => a < b).join(`,`)
13 | let emojisanimated = message.guild.emojis.filter(a=> a.animated).map(r => `${r}`).sort((a, b) => a < b).join(`,`)
14 | let emojisold = message.guild.emojis.filter(a=> !a.animated).map(r => `${r}`).sort((a, b) => a < b).join(`,`)
15 |
16 | let embed = new Discord.RichEmbed()
17 | .setColor(loal)
18 | .setAuthor(`${message.guild.name} Emojis List;`,message.guild.iconURL)
19 | .setDescription(`Many; ${message.guild.emojis.size}\n Animated; ${emojisanimated} [${message.guild.emojis.filter(a=> a.animated).size}]\n Normal; ${emojisold} [${message.guild.emojis.filter(a=> !a.animated).size}]`)
20 | .setFooter(client.user.username,client.user.avatarURL)
21 | .setTimestamp()
22 | message.channel.send(embed)
23 | }
24 |
25 |
26 |
27 | module.exports.help = {
28 | name: "emojis"
29 | }
--------------------------------------------------------------------------------
/commands/giverole.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 |
3 | const fs = require("file-system")
4 |
5 | const botconfig = require("../data/botconfig.json");
6 |
7 | module.exports.run = async (client, message, args) => {
8 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
9 | const color = colors[message.guild.id].color || botconfig.color
10 | let guild = message.guild
11 | let sorry = client.emojis.get("555556287589515274")
12 | if(!message.member.hasPermission("ADMINISTRATOR")) return;
13 | let role = message.mentions.roles.first();
14 | let params = message.content.split(" ").slice(2).join(" ")
15 | if (role === undefined) {
16 | role = guild.roles.get(params) || guild.roles.find("name", params);
17 | let sorry = client.emojis.get("555556287589515274")
18 | }
19 | let please = client.emojis.get("555556306346573838")
20 | var mention = message.mentions.members.first()
21 | if(!mention) return message.channel.send(`**${sorry} | Mention Someone Please**`)
22 | if(!params) return message.channel.send(`**${please} | Type RoleName Please . **`)
23 | if (!role) return message.channel.send(`**${sorry} | Sorry I Cant Find Any Result; `+"``"+params+"``"+` **.`);
24 | if (mention.roles.has(role.id)) {
25 | mention.removeRole(role).then(r => {
26 | let roles = mention.roles.map(r => `${r};`).join("")
27 | var loal = role.hexColor
28 | if(loal === "#000000") loal = "#ec8f8f"
29 | let embed = new Discord.RichEmbed()
30 | .setAuthor(`${role.name} Role Removed;`,mention.user.avatarURL)
31 | .setTimestamp()
32 | .setColor(loal)
33 | .setDescription("```js"+`
34 | ID; ${role.id}
35 | Color; ${role.hexColor}
36 | BotRole; ${role.managed}
37 | `+"```")
38 | .addField(`UserRoles;`,`Many; ${mention.roles.size - 1}\n Counter; ${roles}`)
39 | message.channel.send(embed)
40 | }).catch(err => {
41 | let sorry = client.emojis.get("555556287589515274")
42 | message.channel.send(`**${sorry} | I Miss `+"``"+`ADMINISTRATOR`+"``"+` Permissions . **`)
43 | })
44 | }
45 | if(!mention.roles.has(role.id)){
46 | mention.addRole(role).then(s => {
47 | let roles = mention.roles.map(r => `${r};`).join("")
48 | const me = message.guild.members.get(client.user.id)
49 | var loal = role.hexColor
50 | if(loal === "#000000") loal = color
51 | let embed = new Discord.RichEmbed()
52 | .setAuthor(`${role.name} Role Added;`,mention.user.avatarURL)
53 | .setTimestamp()
54 | .setColor(loal)
55 | .setDescription("```js"+`
56 | ID; ${role.id}
57 | Color; ${role.hexColor}
58 | BotRole; ${role.managed}
59 | `+"```")
60 | .addField(`UserRoles;`,`Many; ${mention.roles.size - 1}\n Counter; ${roles}`)
61 | message.channel.send(embed)
62 | }).catch(err => {
63 | let sorry = client.emojis.get("555556287589515274")
64 | message.channel.send(`**${sorry} | I Misss `+"``"+`ADMINISTRATOR`+"``"+` Permissions . **`)
65 | })
66 | }}
67 |
68 |
69 |
70 | module.exports.help = {
71 | name: "role"
72 | }
--------------------------------------------------------------------------------
/commands/idenity.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const color = botconfig.color
4 | const fs = require("file-system")
5 | module.exports.run = async (client, message, args) => {
6 | let prefixes = JSON.parse(fs.readFileSync("./data/prefixes.json", "utf8"));
7 | let prefix = botconfig.prefix
8 | let idenities = JSON.parse(fs.readFileSync("./data/idenities.json", "utf8"));
9 | let mention = message.mentions.users.first() || message.author;
10 | if(!idenities[mention.id] && mention == message.mentions.users.first()) return message.channel.send(`**${mention} | Dont Have Any Idenity Card . **`)
11 | if(!idenities[mention.id] && mention == message.author) return message.channel.send(`**${message.author} | You Dont Have Any IdenityCard Try `+"``"+` ${prefix}register`+"``"+` **.`)
12 | var me = message.guild.members.get(client.user.id)
13 | var loal = message.member.displayHexColor
14 | if(loal === "#000000") loal = me.displayHexColor
15 | if(loal === "#000000") loal = "#ec8f8f"
16 | let embed = new Discord.RichEmbed()
17 | .setColor(loal)
18 | .setAuthor(`${mention.username} Idenity Card;`,mention.avatarURL || mention.defaultAvatarURL)
19 | .setDescription("||------------------------------------------------------||```js"+`
20 | RealName; ${idenities[mention.id].name}
21 | Region; ${idenities[mention.id].region}
22 | Gender; ${idenities[mention.id].gender}
23 | Age; ${idenities[mention.id].age}`+"```")
24 | .setTimestamp(idenities[mention.id].rgtime)
25 | .setFooter(`Registerd At;`,client.user.avatarURL || client.user.defaultAvatarURL)
26 | if(mention.avatarURL){
27 | .setThumbnail(mention.avatarURL)
28 | }
29 |
30 | message.channel.send(embed)
31 | }
32 | module.exports.help = {
33 | name: "idenity"
34 | }
--------------------------------------------------------------------------------
/commands/invite.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | module.exports.run = async (client, message, args) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 | const color = colors[message.guild.id].color || botconfig.color
8 | const me = message.guild.members.get(client.user.id)
9 | var loal = message.member.displayHexColor
10 | if(loal === "#000000") loal = me.displayHexColor
11 | if(loal === "#000000") loal = color
12 | let inviteEmbed = new Discord.RichEmbed()
13 | .setTitle("Invite Link")
14 | .setDescription(`If you want to invite the bot click **[here](https://discordapp.com/oauth2/authorize?client_id=${message.guild.me.id}&permissions=8&scope=bot)**`)
15 | .setColor(loal);
16 |
17 | message.channel.send(inviteEmbed).catch();
18 | }
19 | module.exports.help = {
20 | name: "invite"
21 | }
--------------------------------------------------------------------------------
/commands/kick.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 |
3 | exports.run = async (client, message, [mention, ...reason]) => { // eslint-disable-line no-unused-vars
4 | if (message.mentions.members.size === 0)
5 | return message.channel.send("Couldn't find the user that you're trying to kick!");
6 |
7 | if (!message.guild.me.hasPermission("KICK_MEMBERS"))
8 | return message.reply("You Don't Have KICK_MEMBERS Permission");
9 |
10 |
11 | const kickMember = message.mentions.members.first();
12 | if(kickMember.highestRole.position >= message.guild.member(message.author).highestRole.positon) {
13 | message.channel.send("**You Can't Ban The Administrator !!**")
14 | }
15 | kickMember.kick(reason.join(" ")).then(member => {
16 | message.reply(`**${member.user.username} has been kicked ! **`);
17 | });
18 | };
19 |
20 | module.exports.help = {
21 | name:"kick"
22 | }
23 |
--------------------------------------------------------------------------------
/commands/luck.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const { stripIndents } = require('common-tags');
3 | const slots = ['🍇', '🍊', '🍐', '🍒', '🍋'];
4 |
5 | module.exports.run = async (client, message, args) => {
6 | const slotOne = slots[Math.floor(Math.random() * slots.length)];
7 | const slotTwo = slots[Math.floor(Math.random() * slots.length)];
8 | const slotThree = slots[Math.floor(Math.random() * slots.length)];
9 | if (slotOne === slotTwo && slotOne === slotThree) {
10 | return message.reply(stripIndents`
11 | ${slotOne}|${slotTwo}|${slotThree}
12 | Wow! You won! Great job... er... luck!
13 | `);
14 | }
15 | return message.reply(stripIndents`
16 | ${slotOne}|${slotTwo}|${slotThree}
17 | Aww... You lost... Guess it's just bad luck, huh?
18 | `);
19 | }
20 |
21 | module.exports.help = {
22 | name: "luck"
23 | }
--------------------------------------------------------------------------------
/commands/member.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | module.exports.run = async (client, message, args) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 | const color = colors[message.guild.id].color || botconfig.color
8 | if(!message.channel.guild) return;
9 | const me = message.guild.members.get(client.user.id)
10 |
11 | var loal = message.member.displayHexColor
12 | if(loal === "#000000") loal = me.displayHexColor
13 | if(loal === "#000000") loal = color
14 | const onf = message.guild.members.filter(r => r.presence.status === "online").size
15 | const idlef = message.guild.members.filter(r => r.presence.status === "idle").size
16 | const dndf = message.guild.members.filter(r => r.presence.status === "dnd").size
17 | const offlinef = message.guild.members.filter(r => r.presence.status === "offline").size
18 | let online = client.guilds.get("555224810486235137").emojis.find(r => r.name === "online2");
19 | let dnd = client.guilds.get("555224810486235137").emojis.find(r => r.name === "dnd2");
20 | let idle = client.guilds.get("555224810486235137").emojis.find(r => r.name === "idle2");
21 | let offline = client.guilds.get("555224810486235137").emojis.find(r => r.name === "offline2");
22 | let all = client.guilds.get("555224810486235137").emojis.find(r => r.name === "stream2");
23 | let embed = new Discord.RichEmbed()
24 | .setAuthor(`${message.guild.name} Members Status;`,message.guild.iconURL)
25 | .setColor(loal)
26 | .setFooter(client.user.username,client.user.avatarURL)
27 | .setTimestamp()
28 | .addField(`Progress;`,`${all}| Counter; ${message.guild.memberCount}\n ${online}| Online; ${onf}\n ${idle}| Idle; ${idlef}\n ${dnd}| DND; ${dndf}\n ${offline}| Offline; ${offlinef}`)
29 | message.channel.send(embed)
30 | }
31 |
32 |
33 | module.exports.help = {
34 | name: "members"
35 | }
--------------------------------------------------------------------------------
/commands/meme.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js")
2 | const superagent = require("superagent");
3 | const randomPuppy = require('random-puppy');
4 | const botconfig = require("../data/botconfig.json");
5 | const color = botconfig.color
6 | const talkedRecently = new Set();
7 | module.exports.run = async (client, message, args) => {
8 | if (talkedRecently.has(message.author.id)) {
9 | message.channel.send("Wait 30 secs before getting typing this again. - " + message.author);
10 | } else {
11 | randomPuppy('memes')
12 | .then(url => {
13 | const embed = new Discord.RichEmbed()
14 | .setTimestamp()
15 | .setImage(url)
16 | .setColor(color)
17 | message.channel.send(embed)
18 | })
19 | }
20 |
21 | talkedRecently.add(message.author.id);
22 | setTimeout(() => {
23 | // Removes the user from the set after a minute
24 | talkedRecently.delete(message.author.id);
25 | }, 30000);
26 | }
27 |
28 | module.exports.help = {
29 | name:"meme"
30 | }
31 |
--------------------------------------------------------------------------------
/commands/mute.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 |
3 | module.exports.run = async (client, message, args) => {
4 |
5 | let tomute = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
6 | if(!tomute) return message.reply("Please specify a user to mute!");
7 | if(tomute.hasPermission("MANAGE_MESSAGES")) return message.reply("I can't mute them because they have an important role!");
8 | if(!message.guild.member(message.author).hasPermission("MANAGE_MESSAGES")) return message.reply("**You Dont Have Permission**").then(msg => msg.delete(5000));
9 | let muterole = message.guild.roles.find(`name`, "Muted");
10 |
11 | if(!muterole){
12 | try{
13 | muterole = await message.guild.createRole({
14 | name: "Muted",
15 | color: "#ec8f8f",
16 | permissions:[]
17 | })
18 | message.guild.channels.forEach(async (channel, id) => {
19 | await channel.overwritePermissions(muterole, {
20 | SEND_MESSAGES: false,
21 | ADD_REACTIONS: false,
22 | });
23 |
24 | });
25 | }catch(e){
26 | console.log(e.stack);
27 | }
28 | }
29 |
30 | await(tomute.addRole(muterole.id));
31 | message.channel.send(`<@${tomute.id}> has been muted!`);
32 | }
33 |
34 | module.exports.help = {
35 | name: "mute"
36 | }
--------------------------------------------------------------------------------
/commands/own.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | module.exports.run = async (client, message, args) => {
6 | const devs = botconfig.ownerID
7 |
8 | if (!devs.includes(message.author.id)) return message.reply(no + "**This command only for bot owner.**").then(m => {
9 | m.delete(2000)
10 | })
11 | message.channel.send(`** Help In dm sir , ${message.author}**`)
12 | message.author.send(``)
13 | }
14 |
15 | module.exports.help = {
16 | name: "own"
17 | }
--------------------------------------------------------------------------------
/commands/ping.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | module.exports.run = async (client, message, args) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 | const color = colors[message.guild.id].color || botconfig.color
8 |
9 | message.channel.send(`:leaves: | Pinging ..`).then(msg => {
10 | var pingt = msg.createdTimestamp - message.createdTimestamp
11 | if(pingt >= 100) pingt = "Poor Connection"
12 | if(pingt <= 90) pingt = "Good Connection"
13 | if(pingt <= 60) pingt = "Epic Connection"
14 | if(pingt <= 20) pingt = "Speical Connection"
15 | if(pingt <= 10) pingt = "God Connection"
16 | var pinga = Math.round(client.ping)
17 | if(pinga >= 100) pinga = "Poor Connection"
18 | if(pinga <= 60) pinga = "Epic Connection"
19 | if(pinga <= 20) pinga = "Speical Connection"
20 | if(pinga <= 10) pinga = "God Connection"
21 | var me = message.guild.member(client.user)
22 | let sorry = client.emojis.get("555556287589515274")
23 | var loal = message.member.displayHexColor
24 | if(loal === "#000000") loal = me.displayHexColor
25 | if(loal === "#000000") loal = color
26 | let embed = new Discord.RichEmbed()
27 | .setColor(loal)
28 | .setDescription(`${sorry} | Pong! -
29 | Time Taken; ${pingt} [${msg.createdTimestamp - message.createdTimestamp}]
30 | DiscordAPI; ${Math.round(client.ping)}`)
31 | .setFooter(client.user.username,client.user.avatarURL)
32 | .setTimestamp()
33 | msg.edit(embed)
34 | })
35 | }
36 |
37 | module.exports.help = {
38 | name: "ping"
39 | }
--------------------------------------------------------------------------------
/commands/profile.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | module.exports.run = async (client, message, args) => {
6 | let mention = message.mentions.members.first() || message.member;
7 | if(mention.user.bot) return;
8 |
9 | const xp = require("../data/profile.json");
10 | if(!xp[mention.user.id]){
11 | xp[mention.user.id] = {
12 | xp: 0,
13 | level: 1,
14 | yens: 0,
15 | Dislikes: 0,
16 | Followers: 0
17 | };
18 | fs.writeFile("./data/profile.json", JSON.stringify(xp), (err) => {
19 | if(err) console.log(err)
20 | })
21 |
22 | }
23 |
24 | var me = message.guild.members.get(client.user.id)
25 | var loal = message.member.displayHexColor
26 | if(loal === "#000000") loal = me.displayHexColor
27 | if(loal === "#000000") loal = "#ec8f8f"
28 | let embed = new Discord.RichEmbed()
29 | .setColor(loal)
30 | .setAuthor(`${mention.user.username} Profile Data;`,mention.user.displayAvatarURL)
31 | .setTimestamp(mention.user.createdTimestamp)
32 | .setFooter(`Account CreatedAt;`,mention.user.displayAvatarURL)
33 | .setDescription(``+"```js"+`
34 | XP; ${xp[mention.user.id].xp}
35 | Level; ${xp[mention.user.id].level}
36 | Yens; ${xp[mention.user.id].yens}
37 | Dislikes; ${xp[mention.user.id].Dislikes}
38 | Followers; ${xp[mention.user.id].Followers}`+"```")
39 | message.channel.send(embed)
40 | }
41 | module.exports.help = {
42 | name: "profile"
43 | }
--------------------------------------------------------------------------------
/commands/register.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const sm = require("string-similarity");
3 | const moment = require("moment");
4 | const botconfig = require("../data/botconfig.json");
5 | const fs = require("file-system")
6 |
7 | module.exports.run = async (client, message, args) => {
8 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
9 | let idenities = JSON.parse(fs.readFileSync("./data/idenities.json", "utf8"));
10 | const color = colors[message.guild.id].color || botconfig.color
11 | var name = '';
12 | var region = '';
13 | var gender = '';
14 | var age = '';
15 | var filter = m => m.author.id === message.author.id;
16 | var me = message.guild.members.get(client.user.id)
17 | var loal = message.member.displayHexColor
18 | if(loal === "#000000") loal = me.displayHexColor
19 | if(loal === "#000000") loal = color
20 | let embed = new Discord.RichEmbed()
21 | .setAuthor(message.author.username,message.author.avatarURL || message.author.defaultAvatarURL)
22 | .setTimestamp()
23 |
24 | .setColor(loal)
25 | .setFooter(client.user.username,client.user.avatarURL || client.user.defaultAvatarURL)
26 | .setDescription(`**${message.author} | Please Type Ur RealName , For Privacy Use Nickname .**`)
27 | message.channel.send(embed).then(msgS => {
28 | message.channel.awaitMessages(filter, { max: 1, time: 30000, errors: ['time'] }).then(collected => {
29 | name = collected.first().content;
30 | collected.first().delete();
31 | .setDescription(`**${message.author} | Type Ur RegionName Please **`)
32 | msgS.edit(embed).then(msgS => {
33 | message.channel.awaitMessages(filter, { max: 1, time: 30000, errors: ['time'] }).then(collected => {
34 | region = collected.first().content;
35 | collected.first().delete();
36 | .setDescription(`**${message.author} | Type ur Gender Please , For Privacy Type \`\`Unlisted\`\` <:images:555556262545326094>.**`)
37 | msgS.edit(embed).then(msgS => {
38 | message.channel.awaitMessages(filter, { max: 1, time: 30000, errors: ['time'] }).then(collected => {
39 | gender = collected.first().content;
40 | collected.first().delete();
41 | .setDescription(`**${message.author} | Type Ur Age RightNow <:as:555556284599107584> .**`)
42 | msgS.edit(embed).then(msgS => {
43 | message.channel.awaitMessages(filter, { max: 1, time: 30000, errors: ['time'] }).then(collected => {
44 | age = collected.first().content;
45 | collected.first().delete();
46 | .setDescription(`** Thanks Alot! Ur Request Will Accepted By Staff Soon! , **.`)
47 | msgS.edit(embed)
48 | var acceptroom = client.channels.get("557595795239600165")
49 | var me = message.guild.members.get(client.user.id)
50 | var loal = message.member.displayHexColor
51 | if(loal === "#000000") loal = me.displayHexColor
52 | if(loal === "#000000") loal = color
53 | let ed = new Discord.RichEmbed()
54 | .setColor(loal)
55 | .setAuthor(`${message.author.username} Request idenity;`,message.author.avatarURL || message.author.defaultAvatarURL)
56 | .setFooter(client.user.username,client.user.avatarURL)
57 | .setDescription("```js"+`
58 | ID; ${message.author.id}
59 | RealName; ${name}
60 | Region; ${region}
61 | Gender; ${gender}
62 | Age; ${age}`+"```")
63 | acceptroom.send(ed).then(msgS => {
64 | msgS.react('✅').then(() => msgS.react('❎'))
65 |
66 | let yesSure = (reaction, user) => reaction.emoji.name === '✅' && user.id != client.user.id
67 | let no = (reaction, usera) => reaction.emoji.name === '❎' && usera.id != client.user.id
68 |
69 | let yesSend = msgS.createReactionCollector(yesSure);
70 | let dontSend = msgS.createReactionCollector(no);
71 |
72 | yesSend.on('collect', r => {
73 | msgS.delete()
74 |
75 |
76 | message.author.send(`**Congratulations :warning: ${message.author} Ur Idenity Request was Accepted By Staff ✅ **. `)
77 |
78 | var me = message.guild.members.get(client.user.id)
79 | var loal = message.member.displayHexColor
80 | if(loal === "#000000") loal = me.displayHexColor
81 | if(loal === "#000000") loal = color
82 | let edwarda = new Discord.RichEmbed()
83 | edwarda.setColor(loal)
84 | edwarda.setAuthor(`${message.author.username} Idenity Card;`,message.author.avatarURL || message.author.defaultAvatarURL)
85 | edwarda.setDescription("||------------------------------------------------------||```js"+`
86 | ID; ${message.author.id}
87 | RealName; '${name}'
88 | Region; ${region}
89 | Gender; ${gender}
90 | Age; ${age}`+"```")
91 | edwarda.setTimestamp()
92 | edwarda.setFooter(`Registerd At;`,client.user.avatarURL || client.user.defaultAvatarURL)
93 | if(message.author.avatarURL){
94 | edwarda.setThumbnail(message.author.avatarURL)
95 | }
96 | message.author.send(edwarda)
97 | let chs = client.channels.get("557728608882393108")
98 | chs.send(ed)
99 | chs.send(`Accepted [ ${message.author} ]`)
100 |
101 | idenities[message.author.id] = {
102 | name: name,
103 | region: region,
104 | gender: gender,
105 | age: age,
106 | rgtime: msgS.createdTimestamp
107 | };
108 |
109 | fs.writeFile("./data/idenities.json", JSON.stringify(idenities), (err) => {
110 | if (err) console.log(err)
111 | });
112 |
113 | })
114 | dontSend.on('collect', r => {
115 | msgS.delete()
116 | message.author.send(`** :warning: | Ur Idenity Request was Denied By Staff .**`)
117 |
118 | })})})})})})})})})})}
119 |
120 |
121 | module.exports.help = {
122 | name: "register"
123 | }
--------------------------------------------------------------------------------
/commands/role.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 | exports.run = (client, message, args) => {
5 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
6 | const color = colors[message.guild.id].color || botconfig.color
7 | if(!message.member.hasPermission('ADMINISTRATOR')) return;
8 | let please = client.emojis.get("555556306346573838")
9 | if(!args[0]) return message.channel.send(`**${please} | Type Something Please . **`)
10 | const guild = message.guild;
11 | let params = message.content.split(" ").slice(1).join(" ");
12 | let role = message.mentions.roles.first();
13 |
14 | if (role === undefined) {
15 | role = guild.roles.find("name", params);
16 | let sorry = client.emojis.get("555556287589515274")
17 | if (!role) return message.channel.send(`**${sorry} | Sorry I Cant Find Any Result; `+"``"+args+"``"+` **.`);
18 | }
19 | let hoist = "null";
20 | if (role.hoist) {
21 | hoist = "Yes";
22 | }else {
23 | hoist = "No";
24 | }
25 | let mention = "null";
26 | if (role.mentionable) {
27 | mention = "Yes";
28 | }else {
29 | mention = "No";
30 | }
31 | let botrole = "null";
32 | if (role.managed) {
33 | botrole = "Yes";
34 | }else {
35 | botrole = "No";
36 | }
37 | let m_map = role.members.map(m=>m).join(";");
38 |
39 | if (m_map.length > 80) m_map = ""
40 | if(role.hasPermission("ADMINISTRATOR")) return message.channel.send(`**:lock: | Sorry , `+"``"+`${role.name}`+"``"+` Have `+"``"+`ADMINISTRATOR`+"``"+` Permissions **.`)
41 | const me = message.guild.members.get(client.user.id)
42 | var loal = role.hexColor
43 | if(loal === "#000000") loal = color
44 | const embed = new Discord.RichEmbed()
45 | .setColor(loal)
46 | .setAuthor(`${role.name} Informations;`,message.guild.iconURL)
47 |
48 | .setDescription("```js"+`
49 | ID; ${role.id}
50 | Color; ${role.hexColor}
51 | BotRole; ${role.managed}
52 | Postion; ${role.position}`+"```")
53 | if (m_map) {
54 | .addField(`❯ Role Members;`,m_map,true)
55 | }
56 |
57 | .setFooter("Role CreatedAt;", client.user.avatarURL)
58 | .setTimestamp(role.createdTimestamp);
59 | message.channel.send({embed});
60 |
61 |
62 | }
63 |
64 |
65 |
66 | module.exports.help = {
67 | name: "roleinfo"
68 | }
--------------------------------------------------------------------------------
/commands/roles.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | exports.run = (client, message, args) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 | const color = colors[message.guild.id].color || botconfig.color
8 | const me = message.guild.members.get(client.user.id)
9 | var loal = message.member.displayHexColor
10 | if(loal === "#000000") loal = me.displayHexColor
11 | if(loal === "#000000") loal = color
12 | let rolesarray = message.guild.roles.filter(role => !role.managed)
13 | let roles = rolesarray.map(r => `${r} `+"``["+`${r.members.size}`+"]``"+`.`).join(" \n")
14 | let embed = new Discord.RichEmbed()
15 | .setAuthor(`${message.guild.name}`,message.guild.iconURL || message.author.avatarURL)
16 | .setColor(loal)
17 | .setThumbnail(message.author.avatarURL)
18 | .setFooter(client.user.username,client.user.avatarURL)
19 | .setTimestamp()
20 | .addField(`All;`,`${roles}`,false)
21 |
22 | message.channel.send(embed)
23 | }
24 |
25 |
26 | module.exports.help = {
27 | name: "roles"
28 | }
--------------------------------------------------------------------------------
/commands/server.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | let prefix = botconfig.prefix;
4 | const fs = require("file-system")
5 |
6 | module.exports.run = async (client, message, args) => {
7 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
8 | if(!message.channel.guild) return
9 | const color = colors[message.guild.id].color || botconfig.color
10 | if(!message.member.hasPermission('ADMINISTRATOR')) return;
11 | const me = message.guild.members.get(client.user.id)
12 | var lol = message.guild.verificationLevel
13 | var loal = message.member.displayHexColor
14 | if(loal === "#000000") loal = me.displayHexColor
15 | if(loal === "#000000") loal = color
16 | const on = message.guild.members.filter(r => r.presence.status === "online").size
17 | const idle = message.guild.members.filter(r => r.presence.status === "idle").size
18 | const dnd = message.guild.members.filter(r => r.presence.status === "dnd").size
19 | const online = dnd + idle + on
20 | const hype = client.emojis.get("555235162041090049")
21 | const discordicon = client.emojis.get("555234055365459969")
22 | const owner = client.users.get(message.guild.owner.id)
23 | const ownerbadage = client.emojis.get("555502796473106502")
24 | const roles = message.guild.roles.map(r => `${r}`).sort((a, b) => a > b)
25 | const emojis = message.guild.emojis.map(r => `${r}`).sort((a, b) => a > b)
26 | let embed = new Discord.RichEmbed()
27 | .setThumbnail(message.guild.iconURL || message.author.avatarURL)
28 | .setColor(loal)
29 | .setDescription("```js"+`
30 | ID; ${message.guild.id}
31 | Large; ${message.guild.large}
32 | Region; ${message.guild.region}`+"```")
33 | .addField(`❯ Guild Owner ${ownerbadage};`,`${owner} ID; \n`+"``{"+`${owner.id}`+"}``",true)
34 | .addField(`❯ Members Count ${discordicon};`,`Many; ${message.guild.memberCount} \n Active; ${online}`,true)
35 | //.addField(`❯ CreatedAt :date:;`,`${moment(message.guild.createdAt).locale('EN-us').fromNow()} \n`+"``["+`${moment(message.guild.createdAt).format('D/M/YYYY h:m A')}]`+"``",true)
36 | if(message.guild.roles.size != 2){
37 | .addField(`❯ Guild Roles :atom:;`,`Many; ${message.guild.roles.size}
38 | Bot Roles; ${message.guild.roles.filter(role => role.bot).size}
39 | :leaves: More? ${prefix}roles`,true)
40 | }
41 | if(message.guild.emojis.size){
42 | .addField(`❯ Emojis :coffee:;`,`Many; ${message.guild.emojis.size}
43 | Animated; ${message.guild.emojis.filter(emoji => emoji.animated).size}
44 | :leaves: More? ${prefix}emojis`,true)
45 | }
46 | .setAuthor(`${message.guild.name} Server Information; `,(message.guild.iconURL || message.author.avatarURL))
47 | .setTimestamp(message.guild.createdTimestamp)
48 | .setFooter("Server CreatedAt ;",client.user.avatarURL)
49 | message.channel.send(embed)
50 |
51 | }
52 |
53 | module.exports.help = {
54 | name: "server"
55 | }
--------------------------------------------------------------------------------
/commands/set-prefix.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const fs = require("fs");
3 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
4 | const botconfig = require("../data/botconfig.json");
5 | module.exports.run = async (client , message, args) => {
6 | const color = colors[message.guild.id].color || botconfig.color
7 | let role = message.guild.roles.find("name", "Admin");
8 | if(role && !message.member.roles.has(role.id))
9 | return message.reply("You do not have permission for that command!")
10 | if(!args[0] || args[0 == "help"]) return message.reply("Usage: setprefix (prefix)");
11 | const me = message.guild.members.get(client.user.id)
12 | var loal = message.member.displayHexColor
13 | if(loal === "#000000") loal = me.displayHexColor
14 | if(loal === "#000000") loal = color
15 | let prefixes = JSON.parse(fs.readFileSync("./data/prefixes.json", "utf8"));
16 |
17 | prefixes[message.guild.id] = {
18 | prefixes: args[0]
19 | };
20 |
21 | fs.writeFile("./data/prefixes.json", JSON.stringify(prefixes), (err) => {
22 | if (err) console.log(err)
23 | });
24 |
25 | let Embed = new Discord.RichEmbed()
26 | .setColor(`${loal}`)
27 | .setTitle("Changed Prefix")
28 | .setDescription(`Prefix has been set to **${args[0]}**`);
29 |
30 | message.channel.send(Embed);
31 |
32 | }
33 |
34 | module.exports.help = {
35 | name: "set-prefix"
36 | }
--------------------------------------------------------------------------------
/commands/support.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | module.exports.run = async (client, message, args) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 | const color = colors[message.guild.id].color || botconfig.color
8 | const me = message.guild.members.get(client.user.id)
9 | var loal = message.member.displayHexColor
10 | if(loal === "#000000") loal = me.displayHexColor
11 | if(loal === "#000000") loal = color
12 | let inviteEmbed = new Discord.RichEmbed()
13 | .setTitle("Invite Link")
14 | .setDescription(`[Click Here](https://discord.gg/ZeFUEpn)`)
15 | .setColor(loal);
16 |
17 | message.channel.send(inviteEmbed).catch();
18 | }
19 | module.exports.help = {
20 | name: "support"
21 | }
--------------------------------------------------------------------------------
/commands/test.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | module.exports.run = async (client, message, args) => {
6 |
7 |
8 |
9 |
10 | }
11 | module.exports.help = {
12 | name: "test"
13 | }
--------------------------------------------------------------------------------
/commands/unmute.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 |
3 |
4 | module.exports.run = async (client, message, args) => {
5 |
6 | if(!message.guild.member(message.author).hasPermission("MANAGE_MESSAGES")) return message.reply("**You Dont Have Permission**").then(msg => msg.delete(5000));
7 | let tounmute = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
8 | if(!tounmute) return message.reply("Couldn't find user.");
9 | let muterole = message.guild.roles.find(`name`, "Muted");
10 |
11 |
12 | await(tounmute.removeRole(muterole.id));
13 | message.channel.send(`<@${tounmute.id}> has been unmuted!`);
14 | }
15 |
16 | module.exports.help = {
17 | name: "unmute"
18 | }
--------------------------------------------------------------------------------
/commands/uptime.js:
--------------------------------------------------------------------------------
1 | const Discord = require('discord.js');
2 | const botconfig = require("../data/botconfig.json");
3 | const fs = require("file-system")
4 |
5 | exports.run = (client, message) => {
6 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
7 | const color = colors[message.guild.id].color || botconfig.color
8 | let ms = client.uptime;
9 | let cd = 24 * 60 * 60 * 1000; // Calc days
10 | let ch = 60 * 60 * 1000; // Calc hours
11 | let cm = 60 * 1000; // Calc minutes
12 | let cs = 1000; // Calc seconds
13 | let days = Math.floor(ms / cd);
14 | let dms = days * cd; // Days, in ms
15 | let hours = Math.floor((ms - dms) / ch);
16 | let hms = hours * ch; // Hours, in ms
17 | let minutes = Math.floor((ms - dms - hms) / cm);
18 | let mms = minutes * cm; // Minutes, in ms
19 | let seconds = Math.round((ms - dms - hms - mms) / cs);
20 | if (seconds === 60) {
21 | minutes++; // Increase by 1
22 | seconds = 0;
23 | }
24 | if (minutes === 60) {
25 | hours++; // Inc by 1
26 | minutes = 0;
27 | }
28 | if (hours === 24) {
29 | days++; // Increase by 1
30 | hours = 0;
31 | }
32 | let dateStrings = [];
33 | if (days === 1) {
34 | dateStrings.push('**1** day');
35 | } else if (days > 1) {
36 | dateStrings.push('**' + String(days) + '** days');
37 | }
38 | if (hours === 1) {
39 | dateStrings.push('**1** hour');
40 | } else if (hours > 1) {
41 | dateStrings.push('**' + String(hours) + '** hours');
42 | }
43 | if (minutes === 1) {
44 | dateStrings.push('**1** minute');
45 | } else if (minutes > 1) {
46 | dateStrings.push('**' + String(minutes) + '** minutes');
47 | }
48 | if (seconds === 1) {
49 | dateStrings.push('**1** second');
50 | } else if (seconds > 1) {
51 | dateStrings.push('**' + String(seconds) + '** seconds');
52 | }
53 | let dateString = '';
54 | for (let i = 0; i < dateStrings.length - 1; i++) {
55 | dateString += dateStrings[i];
56 | dateString += ', ';
57 | }
58 | if (dateStrings.length >= 2) {
59 | dateString = dateString.slice(0, dateString.length - 2) + dateString.slice(dateString.length - 1);
60 | dateString += 'and ';
61 | }
62 | dateString += dateStrings[dateStrings.length - 1];
63 | const me = message.guild.members.get(client.user.id)
64 | var loal = message.member.displayHexColor
65 | if(loal === "#000000") loal = me.displayHexColor
66 | if(loal === "#000000") loal = color
67 | const embed = new Discord.RichEmbed()
68 | .setAuthor(message.author.username, message.author.avatarURL || message.author.defaultAvatarURL)
69 | .setThumbnail(message.author.iconURL)
70 | .addField('❯ uptime',`${days}d. ${hours}h. ${minutes}m . ${seconds}s`, true)
71 | .addField('❯ Active for:', dateString, true)
72 | .setColor(loal)
73 | .setFooter(client.user.username,client.user.avatarURL)
74 | .setTimestamp()
75 | message.channel.send({embed})
76 | .catch(console.error);
77 | };
78 | module.exports.help = {
79 | name: 'uptime'
80 | };
--------------------------------------------------------------------------------
/commands/user.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const sm = require("string-similarity");
3 | const moment = require("moment");
4 | const botconfig = require("../data/botconfig.json");
5 | const fs = require("file-system")
6 |
7 | module.exports.run = async (client, message, args) => {
8 | let yaw = client.emojis.get("555235020306907146")
9 | const mention = message.mentions.members.first() || message.member
10 | var color = botconfig.color
11 | var memberA = client.users.get(mention.id)
12 | message.guild.fetchInvites().then(invs => {
13 | let personalInvites = invs.filter(i => i.inviter.id === mention.id);
14 | let f = personalInvites.reduce((p, v) => v.uses + p, 0)
15 | const trueemoji = client.emojis.get("555167922276925460")
16 | const me = message.guild.members.get(client.user.id)
17 | var lol = message.guild.verificationLevel
18 | var loal = mention.displayHexColor
19 | if(loal === "#000000") loal = me.displayHexColor
20 | if(loal === "#000000") loal = color
21 | var presence = mention.presence
22 | var st = presence.status
23 | if(presence.game == undefined)
24 | presence.game = "Nothing"
25 | let idle = client.emojis.get("555540481048838167")
26 | let dnd = client.emojis.get("555540479257739275")
27 | let online = client.emojis.get("555540475449442304")
28 | let stream = client.emojis.get("555540478616141834")
29 | let offline = client.emojis.get("555540478339186688")
30 | if(st == "offline")
31 | st = `${offline}`
32 | if(st == "idle")
33 | st = `${idle}`
34 | if(st == "dnd")
35 | st = `${dnd}`
36 | if(st == "online")
37 | st = `${online}`
38 | var gn = presence.game
39 | if(gn == undefined)
40 | gn = "NOTHING"
41 | var gt = presence.game.type
42 | if(gt == undefined)
43 | gt = '**NOTHING**'
44 | if(gt == "0")
45 | gt = "Playing"
46 |
47 | if(gt == "2")
48 | gt = "Listening To"
49 | if(gt == "1"){
50 | gt = "Streaming"
51 | st = `${stream}`}
52 | if(gt == "3")
53 | gt = "Watching"
54 | let nitro = ""
55 | if(mention.premium)
56 | nitro = client.emojis.get("556179161195216896")
57 | let embed = new Discord.RichEmbed()
58 | .setColor(`${loal}`)
59 | .setTimestamp(mention.joinedTimestamp)
60 | .setFooter(`Member JoinedAt; `,mention.user.avatarURL || mention.user.defaultAvatarURL)
61 | if(!mention.user.bot){
62 | .setAuthor(`${mention.user.username} User Information; `,mention.user.avatarURL || mention.user.defaultAvatarURL)
63 | }
64 | if(mention.user.bot){
65 | .setAuthor(`${mention.user.username} Bot Information;`,mention.user.avatarURL)
66 | }
67 | //.addBlankField()
68 | if(!mention.user.bot){
69 | .setDescription(" ```js"+`
70 | ID; ${mention.user.id}
71 | Creation; ${moment(mention.user.createdAt).locale('EN-us').fromNow()}
72 | Roles; ${mention.roles.size - 1}`+"```")
73 | }
74 | if(mention.user.bot){
75 | .setDescription(" ```js"+`
76 | ID; ${mention.user.id}
77 | Creation; ${moment(mention.user.createdAt).locale('EN-us').fromNow()}
78 | Bot; true`+"```")
79 | }
80 |
81 | if(mention.voiceChannel){
82 |
83 | if(mention.voiceChannel.members.size < 2) {
84 | .addField(`Currently VoiceChannel;`,`[${yaw}] ${mention.voiceChannel.name}`,true)
85 |
86 | }
87 | if(mention.voiceChannel.members.size > 1){
88 | if(mention.voiceChannel.members.size < 5) {
89 | let em = client.emojis.get("555506446955970561")
90 | .addField(`Currently VoiceChannel;`,`[${yaw}] ${mention.voiceChannel.name} - \n${em} With ${mention.voiceChannel.members.size - 1} Members\n ${mention.voiceChannel.members.map(r => `${r};`).join("\n")}\n`,true)
91 |
92 | }
93 |
94 |
95 | }
96 | if(mention.voiceChannel.members.size > 4) {
97 | .addField(`Currently VoiceChannel;`,`[${yaw}] ${mention.voiceChannel.name} - `+"``"+`${mention.user.username}`+"``"+`\n With ${mention.voiceChannel.members.size - 1} Members`,true)
98 | }}
99 | if(presence.game != "Nothing") {
100 | if(presence.game == "Spotify"){
101 |
102 | if (memberA.createdAt == 'undefined') var createdAt = memberA.createdAt;
103 | else var createdAt = memberA.createdAt;
104 |
105 | if(memberA.presence.status == "online") var statusIcon = "[Online]";
106 | if(memberA.presence.status == "idle") var statusIcon = "[Idle]";
107 | if(memberA.presence.status == "dnd") var statusIcon = "[DnD]";
108 | if(memberA.presence.game != null) if(memberA.presence.game.url != null) var statusIcon = "[Streaming]"
109 | if(statusIcon == null) var statusIcon = "[Offline]"
110 |
111 |
112 |
113 |
114 | if (memberA.presence.game != undefined && statusIcon == "[Streaming]" && memberA.presence.game.timestamps != null && memberA.presence.game.url != null) var game = {name: `Title: ${memberA.presence.game.name} \n streaming at ${memberA.presence.game.url}` , time: ""}
115 | else if (memberA.presence.game != undefined && statusIcon == "[Streaming]" && memberA.presence.game.url != null) var game = {name: `Title: ${memberA.presence.game.name} \n streaming at ${memberA.presence.game.url}` , time: ""}
116 | else if(memberA.presence.game != undefined && memberA.presence.game.timestamps.start != null && memberA.presence.game.name == "Spotify") var game = {name:memberA.presence.game.name, songName: memberA.presence.game.details, playlist: memberA.presence.game.assets.largeText, artist:memberA.presence.game.state ,time: moment(memberA.presence.game.timestamps.start).fromNow()}
117 | else if(memberA.presence.game != undefined && memberA.presence.game.timestamps.start != null) var game = {name:memberA.presence.game.name, time: moment(memberA.presence.game.timestamps.start).fromNow()}
118 | else if(memberA.presence.game != undefined)var game = {name:memberA.presence.game.name, time: "not defined"}
119 | else var game = {name: "", time: ""};
120 |
121 |
122 | if(game.name.length > 0 && game.time.length > 0 && game.name != "Spotify") var gameF = `${game.name} playing Since ${game.time}`;
123 | else if(game.name == "Spotify" && memberA.presence.game.assets.largeImage.startsWith("spotify:")) var gameF = `**Listening To;** ${game.songName}\n **Artist;** ${game.artist}\n **Album;** ${game.playlist}`;
124 | else if(game.name.length > 0 && gameF == null) var gameF = `${game.name}`;
125 | else var gameF = "Nothing playing right now";
126 | if(gameF == undefined)
127 | gameF = ""
128 |
129 | st = client.emojis.get("556169473254752296")
130 |
131 | //.setImage("https://cdn.discordapp.com/emojis/556169473254752296.png?v=1")
132 | // .addField('Status;',`${st} | ${gt} ${presence.game};\n${gameF}`,true)
133 |
134 | }
135 | //.addField(`Status;`,`${st} | ${gt} ${presence.game}`,true)
136 |
137 |
138 | }
139 | if(gameF == undefined)
140 | gameF = ""
141 |
142 | if(!presence.game)
143 | presence.game = ""
144 | if(gt == "**NOTHING**")
145 | gt = ""
146 | if(presence.game == "YouTube"){
147 | let emoj = client.emojis.get("556284619117559839")
148 | var playing = client.emojis.get("557011651606478849")
149 | var playmode = presence.game.assets.smallText
150 | if(playmode == "Playback paused") playing = client.emojis.get("557013486924988416")
151 | .addField(`Status;`,`${emoj} | YouTube; \n**Watching;** ${presence.game.details}\n **ChannelName;** ${presence.game.state}\n **PlayMode;** ${playing}\n `,true)
152 | if(presence.game.assets) .setThumbnail(`${presence.game.assets.smallImageURL}`)
153 | }
154 | if(presence.game == "Fortnite"){
155 | let emoj = client.emojis.get("556283321018089472")
156 | var lol = moment(presence.game.timestamps).locale("EN-us").fromNow()|| ""
157 | var gametime = "\n **Time;** " + lol
158 | if(lol != "Invalid date") lol = moment(presence.game.timestamps.start).locale("EN-us").fromNow()
159 | if(lol == "Invalid date") lol = ""
160 | if(lol == "") gametime = ""
161 | .addField(`Status;`,`${emoj} | Fortnite; \n**GameMode;** ${presence.game.details}\n **Team;** ${presence.game.state}\n **Tier;** ${presence.game.assets.smallText}\n ${gametime}`,true)
162 | if(presence.game.assets) .setThumbnail(`${presence.game.assets.largeImageURL}`)
163 |
164 | }
165 | if(presence.game == "Visual Studio Code"){
166 | let emoj = client.emojis.get("556276044378800138")
167 |
168 | var lol = moment(presence.game.timestamps).locale("EN-us").fromNow() || ""
169 | var time = `**Edit Time;** ${lol}`
170 | if(lol != "Invalid date") lol = moment(presence.game.timestamps.start).locale("EN-us").fromNow()
171 | if(lol == "Invalid date") lol = ""
172 | if(lol == "") time = ""
173 | .addField(`Status;`,`${emoj} | Visual Studio Code;\n **File;** ${presence.game.details.slice(8)}\n **FileType;** ${presence.game.assets.largeText}\n **Workspace;** ${presence.game.state.slice(9)}\n ${time}`,true)
174 | if(presence.game.assets) .setThumbnail(`${presence.game.assets.largeImageURL}`)
175 |
176 | }
177 | if(presence.game == "Spotify"){
178 | .addField('Status;',`${st} | **${presence.game}**;\n${gameF}\n`,true)
179 | .setThumbnail(`${mention.presence.game.assets.largeImageURL}?size=128`)
180 | }
181 | if(presence.game == "League of Legends"){
182 | let emo = client.emojis.get("556254728258977792")
183 | //.setImage("https://cdn.discordapp.com/emojis/556254728258977792.png")
184 | var lol = moment(presence.game.timestamps).locale("EN-us").fromNow()|| ""
185 | var gametime = "\n GameTime; " + lol
186 | if(lol != "Invalid date") lol = moment(presence.game.timestamps.start).locale("EN-us").fromNow()
187 | if(lol == "Invalid date") lol = ""
188 | if(lol == "") gametime = ""
189 | var assets = presence.game.assets
190 | if(!assets) {
191 | if(!presence.game.timestamps){
192 | .addField('Status;',`${st} | ${gt} **${presence.game}**\n${gameF}\n`,true)
193 | }
194 |
195 | if(presence.game.timestamps) gameF = gameF + `Started From; ${moment(presence.game.timestamps.start).locale("EN-us").fromNow()} .`
196 | .addField('Status;',`${st} | ${gt} **${presence.game}**\n${gameF}\n`,true)
197 |
198 | }
199 | if(assets){
200 | var charcter = presence.game.assets.largeText
201 | var char = "\nCharacter; "+charcter
202 | if(!charcter) charcter = ""
203 | if(charcter == "") char = ""
204 | var gamemode = presence.game.details
205 | var gamem = "\n GameMode; "+gamemode
206 | if(!gamemode) gamemode = ""
207 | if(gamemode == "") gamem = ""
208 | .addField(`Status;`,`${emo} | League Of Legends;${gamem}\n GameStatus; ${presence.game.state}${gametime}${char}`,true)
209 | if(presence.game.assets) .setThumbnail(`${presence.game.assets.largeImageURL}`)
210 | }}
211 | if(presence.game != "Spotify"){
212 | if(presence.game != "League of Legends") {
213 | if(presence.game != "Visual Studio Code"){
214 | if(presence.game != "Fortnite"){
215 | if(presence.game != "YouTube"){
216 | .setThumbnail(mention.user.avatarURL || mention.user.defaultAvatarURL)
217 | if(presence.game.timestamps) gameF = gameF + `Started From; ${moment(presence.game.timestamps.start).locale("EN-us").fromNow()} .`
218 | if(st != client.emojis.get("555540478339186688")){
219 | .addField('Status;',`${st} | ${gt} **${presence.game}**\n${gameF}\n`,true)
220 | }
221 |
222 | }}}}}
223 |
224 |
225 | if(mention.nickname) {
226 | .addField(`Currently Nickname;`,`${mention.nickname} `,true)
227 | }
228 | //console.log(mention.user.username)
229 | message.channel.send(embed)
230 | })}
231 | module.exports.help = {
232 | name: "user"
233 | }
--------------------------------------------------------------------------------
/data/botconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "token": "plz but your token",
3 | "prefix": ".",
4 | "ownerID":["378575138444017665"],
5 | "color":"#ec8f8f"
6 | }
7 |
--------------------------------------------------------------------------------
/data/colors.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/data/commands.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/data/idenities.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/data/prefixes.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/data/profile.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | const Discord = require("discord.js");
2 | const botconfig = require("./data/botconfig.json");
3 | const xp = require("./data/profile.json");
4 | const fs = require("fs");
5 |
6 | const bot = new Discord.Client
7 | bot.commands = new Discord.Collection();
8 | let colors = JSON.parse(fs.readFileSync("./data/colors.json", "utf8"));
9 | fs.readdir("./commands/", (err, files) => {
10 |
11 | if(err) console.log(err);
12 |
13 | let jsfile = files.filter(f => f.split(".").pop() === "js")
14 | if(jsfile.length <= 0){
15 | console.log("Couldn't find commands.");
16 | return;
17 | }
18 |
19 | jsfile.forEach((f, i) =>{
20 | let props = require(`./commands/${f}`);
21 | console.log(`${f} loaded!`);
22 | bot.commands.set(props.help.name, props);
23 |
24 | });
25 |
26 | });
27 |
28 | bot.on("ready", async () => {
29 | loggedIN = 1;
30 | bot.user.setStatus("idle")
31 | console.log(`${bot.user.username} is online!`);
32 | var indexActivity = 1;
33 | setInterval(() => {
34 | if (indexActivity === 1) {
35 | bot.user.setActivity(` ${bot.guilds.size} Servers`, {
36 | type: "LISTENING"
37 | }).catch();
38 | indexActivity = 2;
39 | return;
40 | }
41 | if (indexActivity === 2) {
42 | bot.user.setActivity(` ${bot.users.size -2} Users`, {
43 | type: "LISTENING"
44 | }).catch();
45 | indexActivity = 3;
46 | return;
47 | }
48 | if (indexActivity ===3) {
49 | bot.user.setActivity("Type ;help", {
50 | type: "LISTENING"
51 | }).catch();
52 | indexActivity = 1;
53 | return;
54 | }
55 |
56 | }, 15000);
57 |
58 | });
59 |
60 |
61 |
62 | bot.on("message", async message => {
63 | if(message.author.bot) return;
64 | if(message.channel.type === "dm") return;
65 |
66 |
67 | let xpAdd = Math.floor(Math.random() * 5) + 5;
68 | //console.log(xpAdd);
69 |
70 | if(!xp[message.author.id]){
71 | xp[message.author.id] = {
72 | xp: 0,
73 | level: 1,
74 | yens: 0,
75 | Dislikes: 0,
76 | Followers: 0
77 | };
78 | }
79 |
80 | let curxp = xp[message.author.id].xp;
81 | let curlvl = xp[message.author.id].level;
82 | let nxtLvl = xp[message.author.id].level * 600;
83 | xp[message.author.id].xp = curxp + xpAdd;
84 | if(nxtLvl <= xp[message.author.id].xp){
85 | xp[message.author.id].level = curlvl + 1;
86 |
87 | // let lvlup = new Discord.RichEmbed()
88 | //.setTitle("Level Up!")
89 | //.setColor("#ec8f8f")
90 | //.addField("New Level", curlvl + 1);
91 |
92 | //message.channel.send(lvlup).then(msg => {});
93 | }
94 | let ncred = xp[message.author.id].level * 3;
95 | if(ncred <= xp[message.author.id].xp){
96 | var curyens = xp[message.author.id].yens
97 |
98 | if (!xp[message.author.id].shit) xp[message.author.id].shit = 0;
99 | xp[message.author.id].shit+=1;
100 | if (xp[message.author.id].shit == 10) xp[message.author.id].yens+=parseInt(Math.floor(Math.random()*15));
101 | fs.writeFile("./data/profile.json", JSON.stringify(xp), (err) => {
102 | if(err) console.log(err)
103 | })
104 | }
105 |
106 | let prefix = botconfig.prefix
107 | let devs = botconfig.devs;
108 | let messageArray = message.content.split(" ")
109 | let cmd = messageArray[0];
110 | let args = messageArray.slice(1).join("")
111 | if(!colors[message.guild.id]){
112 | colors[message.guild.id] = {
113 | color: botconfig.color
114 | };
115 |
116 | fs.writeFile("./data/colors.json", JSON.stringify(colors), (err) => {
117 | if (err) console.log(err)})
118 | }
119 | if(message.content.startsWith(botconfig.prefix)){
120 | let commandfile = bot.commands.get(cmd.slice(prefix.length));
121 | if(commandfile) commandfile.run(bot, message, args);
122 |
123 | let xpAdd = Math.floor(Math.random() * 15) + 9;
124 | //console.log(xpAdd);
125 |
126 | if(!xp[message.author.id]){
127 | xp[message.author.id] = {
128 | xp: 0,
129 | level: 1
130 | };
131 | }
132 |
133 | let curxp = xp[message.author.id].xp;
134 | let curlvl = xp[message.author.id].level;
135 | let nxtLvl = xp[message.author.id].level * 600;
136 | xp[message.author.id].xp = curxp + xpAdd;
137 | fs.writeFile("./data/profile.json", JSON.stringify(xp), (err) => {
138 | if(err) console.log(err)
139 | });
140 |
141 | }
142 | });
143 |
144 | bot.login(botconfig.token);
145 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/start.bat:
--------------------------------------------------------------------------------
1 | node index.js
2 | pause
--------------------------------------------------------------------------------