· 6 years ago · Jul 06, 2019, 02:58 PM
1const Discord = require('discord.js');
2
3 const moment = require("moment");
4
5 const fs = require("fs");
6
7 const dateFormat = require('dateformat');
8
9 const client = new Discord.Client();
10
11 const Canvas = require("canvas");
12
13 const prefix = "#";
14
15 const token = 'BOT_TOKEN';
16
17client.on("message", message => {
18
19if(message.content.startsWith(prefix + "setnick")){
20
21if(message.author.bot || message.channel.type == "dm" || !message.member.hasPermission("MANAGE_NICKNAMES") || !message.guild.member(client.user).hasPermission("MANAGE_NICKNAMES")) return;
22
23var user = message.mentions.members.first();
24
25var args = message.content.split(" ").slice(2);
26
27var nick = args.join(" ");
28
29if(!user || !args) return message.channel.send(`**• | Usage:** ${prefix}setnick \`\`@Name\`\` nickname`);
30
31message.guild.member(user.user).setNickname(`${nick}`);
32
33message.channel.send(`Successfully changed **${user}** nickname to **${nick}**`);
34
35}
36
37});
38
39
40
41const SQLite = require('sqlite'); // SQLpackage
42
43const path = require('path'); // PATHpackage
44
45const invites = {}; // Codes
46
47
48
49client.on("ready", () => { // ready ?
50
51 client.guilds.forEach(g => { // for each guilds ?
52
53 g.fetchInvites().then(guildInvites => { // fetch invites ?
54
55 invites[g.id] = guildInvites; // push guild invites on invites ^^
56
57 }); // end
58
59}); // end
60
61}); // end
62
63SQLite.open(path.join(__dirname, 'links.sql')) // read path ?
64
65.then(() => { // then ?
66
67 console.log('Opened') // seccussfull opened
68
69 SQLite.run(`CREATE TABLE IF NOT EXISTS linkSysteme (code TEXT, id VARCHAR(30))`) // create table if not exisit
70
71}) // end
72
73.catch(err => console.error(err)) // on error
74
75
76
77client.on("message", async msg => { // message ?
78
79 if(msg.author.bot || !msg.channel.guild) return; // if bot or private return
80
81 if(msg.content.startsWith("رابط")) { // message content
82
83 let invite = await msg.channel.createInvite({ // create invites
84
85 maxAge: 86400, // one day // limit time for invite ^^
86
87 maxUses: 5 // 5 people can enter // limit users for invites ^^
88
89 }, `Requested by ${msg.author.tag}`).catch(console.log); // reason // end
90
91
92
93 SQLite.run(`INSERT INTO linkSysteme VALUES ('${invite.code}','${msg.author.id}')`) // insert into table
94
95 msg.author.send(invite ? /*seccussfull*/`**مدة الرابط : يـوم عدد استخدامات الرابط : 5 **:\n ${invite}` /*error catch*/: "يوجد خلل في البوت :( \n يتم حل المشكل قريبا ...");
96
97 }
98
99
100
101})
102
103
104
105let inv_room = "597025240626888706" // room id
106
107client.on('guildMemberAdd', async member => { // membed add event
108
109 member.guild.fetchInvites().then(async guildInvites => { // fetch invites ?
110
111 const inv = invites[member.guild.id]; // get invite :)
112
113 invites[member.guild.id] = guildInvites; // push guild invites on invites
114
115 let invite = guildInvites.find(i => inv.get(i.code).uses < i.uses); // find ?
116
117 let res = await SQLite.get(`SELECT * FROM linkSysteme WHERE code = '${invite.code}'`) // select from sql
118
119 if(!res) { // if the code does'nt exists
120
121 console.log(invite.code) // for test
122
123 client.channels.get(inv_room).send("**Welcom To "+member.guild.name+"? .\n Joined By: "+invite.inviter+".**") // send message to welcome room
124
125 } else { // if the code link exitst
126
127 client.channels.get(inv_room).send("**Welcom To "+member.guild.name+"? .\n Joined By: <@!"+res.id+">.**") // send message to welcome room
128
129 console.log(res.code) // for test
130
131 } // end if
132
133 }); // end fetchs :)
134
135}); // end events :) ) )) )) )) )) )) )) ) )) ))
136
137
138
139
140
141
142 client.on("message", message => { //iTzMurtaja
143
144 if(message.content.startsWith(prefix + "emoji")) { //iTzMurtaja
145
146 if(message.author.bot) return; //iTzMurtaja
147
148 var emojiid = message.content.split(" ").slice(1).join(" ") //iTzMurtaja
149
150 console.log(emojiid) //iTzMurtaja
151
152 if(emojiid.length < "18" || emojiid.length > "18" || isNaN(emojiid)) return message.channel.send(`- Usage
153${prefix}emoji <EmojiID>`); //iTzMurtaja
154
155 else //iTzMurtaja
156
157 message.channel.send("This is the emoji that you requested:-",
158
159 { //iTzMurtaja
160
161 files: [`https://cdn.discordapp.com/emojis/${emojiid}.png`]
162
163 }) //iTzMurtaja
164
165 } //iTzMurtaja
166
167
168
169client.login(process.env.BOT_TOKEN);