gaber-elsayed

Link + Invite By (JS) BY NoNou Codes

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