· 5 years ago · Apr 15, 2020, 12:18 AM
1//inviteby
2const SQLite = require('sqlite'); // SQLpackage
3const path = require('path'); // PATHpackage
4const invites = {}; // Codes
5
6client.on("ready", () => { // ready ?
7 client.guilds.forEach(g => { // for each guilds ?
8 g.fetchInvites().then(guildInvites => { // fetch invites ?
9 invites[g.id] = guildInvites; // push guild invites on invites ^^
10 }); // end
11}); // end
12}); // end
13SQLite.open(path.join(__dirname, 'links.sql')) // read path ?
14.then(() => { // then ?
15 console.log('Opened') // seccussfull opened
16 SQLite.run(`CREATE TABLE IF NOT EXISTS linkSysteme (code TEXT, id VARCHAR(30))`) // create table if not exisit
17}) // end
18.catch(err => console.error(err)) // on error
19
20client.on("message", async msg => { // message ?
21 if(msg.author.bot || !msg.channel.guild) return; // if bot or private return
22 if(msg.content.startsWith("رابط")) { // message content
23 let invite = await msg.channel.createInvite({ // create invites
24 maxAge: 86400, // one day // limit time for invite ^^
25 maxUses: 5 // 5 people can enter // limit users for invites ^^
26 }, `Requested by ${msg.author.tag}`).catch(console.log); // reason // end
27
28 SQLite.run(`INSERT INTO linkSysteme VALUES ('${invite.code}','${msg.author.id}')`) // insert into table
29 msg.author.send(invite ? /*seccussfull*/`**مدة الرابط : يـوم عدد استخدامات الرابط : 5 **:\n ${invite}` /*error catch*/: "يوجد خلل في البوت :( \n يتم حل المشكل قريبا ...");
30 }
31
32})
33
34let inv_room = "id" // room id
35client.on('guildMemberAdd', async member => { // membed add event
36 member.guild.fetchInvites().then(async guildInvites => { // fetch invites ?
37 const inv = invites[member.guild.id]; // get invite :)
38 invites[member.guild.id] = guildInvites; // push guild invites on invites
39 let invite = guildInvites.find(i => inv.get(i.code).uses < i.uses); // find ?
40 let res = await SQLite.get(`SELECT * FROM linkSysteme WHERE code = '${invite.code}'`) // select from sql
41 if(!res) { // if the code does'nt exists
42 console.log(invite.code) // for test
43 client.channels.get(inv_room).send("**Welcom To "+member.guild.name+"? .\n Joined By: "+invite.inviter+".**") // send message to welcome room
44 } else { // if the code link exitst
45 client.channels.get(inv_room).send("**Welcom To "+member.guild.name+"? .\n Joined By: <@!"+res.id+">.**") // send message to welcome room
46 console.log(res.code) // for test
47 } // end if
48 }); // end fetchs :)
49}); // end events :) ) )) )) )) )) )) )) ) )) ))