gaber-elsayed

alt detection bot

Jun 28th, 2021
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1. const { Client, MessageEmbed } = require('discord.js');
  2. const nat = new Client();
  3. const chalk = require('chalk');
  4. const config = require('./config.json');
  5. const moment = require('moment')
  6.  
  7. nat.once('ready', () => {
  8. console.log(chalk.red `[CODED BY Gaber] ` + chalk.white `${nat.user.tag} is now online!`) // DONT EDIT THIS
  9. })
  10. nat.on('guildMemberAdd', async(member) => {
  11. let userjoin = moment(member.user.createdAt);
  12. let daysconfig = config.settings.days;
  13. if (isNaN(daysconfig)) {
  14. if (config.debug) console.log(chalk.green `[DEBUG] ` + chalk.white `I had to change the days to 30 because your days in the config file was not a number!`)
  15. daysconfig = 30;
  16. }
  17. let days = moment().subtract(daysconfig, 'days')
  18. let isit = userjoin.isBefore(days);
  19. if (!isit) {
  20. let data = moment(member.user.createdAt).format("YYYY/MM/DD");
  21. let chann = member.guild.channels.cache.get(config.settings.channel)
  22. if (!chann) {
  23. if (config.debug) {
  24. console.log(chalk.red `[ERROR] ` + chalk.white `You have an invaild channel in config`)
  25. }
  26. } else {
  27. let altaccountembed = new MessageEmbed()
  28. .setTitle(`Alt account detected`)
  29. .setDescription(`${member.user.tag} || \`${member.user.id}\` has an account that is not older then ${daysconfig} days!`)
  30. .addField(`Data the account was created`, `${data}`)
  31. .addField(`Time the account was made`, `${member.user.createdAt}`)
  32. .addField(`User joined at`, member.joinedAt)
  33. .setTimestamp()
  34. .setThumbnail(member.user.displayAvatarURL({ format: `png`, dynamic: true }))
  35. .setColor(config.embed.color)
  36. .setFooter(config.embed.footer)
  37. chann.send(`<@${member.user.id}>,`)
  38. chann.send(altaccountembed).catch(e => {
  39. if (e && config.debug) return console.log(`I was not able to send a message in the alt account channel. alt account channel is "${chann.name}"`)
  40. })
  41. if (config.settings.kick_on_join) {
  42. let kick_message = config.settings.kick_message;
  43. if (!kick_message || kick_message.length > 1028) {
  44. kick_message = 'You have been kicked because your account creation does not meet our server requirements'
  45. if (config.debug) console.log(chalk.red `[ERROR] ` + chalk.white `Your message either was longer then 1028 charcters or you put nothing in there. The kick message has been changed to "${kick_message}"`)
  46. }
  47. let users_dm = new MessageEmbed()
  48. .setColor(config.embed.color)
  49. .setFooter(config.embed.footer)
  50. .setTimestamp()
  51. .setTitle(`__You have been kicked from ${member.guild.name}__`)
  52. .addField(`Staff`, nat.user.tag)
  53. .addField(`Reason`, kick_message)
  54. .setThumbnail(member.user.displayAvatarURL({ format: `png`, dynamic: true }))
  55. member.send(users_dm).catch(e => {
  56. if (e) {
  57. let e1 = new MessageEmbed()
  58. .setDescription(`I was not able to DM ${member.user.tag}`)
  59. .setColor(config.embed.color)
  60. .setFooter(config.embed.footer)
  61. chann.send(e1)
  62. }
  63. })
  64. setTimeout(async() => {
  65. let usercheck = await member.kick(`${kick_message}`).catch(e => {
  66. if (config.debug) console.log(chalk.red `[ERROR] ` + chalk.white `I was not able to kick ${member.user.tag}`)
  67. })
  68. if (usercheck === undefined) {
  69. let e1 = new MessageEmbed()
  70. .setDescription(`I was not able to kick ${member.user.tag}`)
  71. .setColor(config.embed.color)
  72. .setFooter(config.embed.footer)
  73. .setTimestamp()
  74. chann.send(e1).catch(e => {
  75. if (e && config.debug) return console.log(`I was not able to send a message in the alt account channel. alt account channel is "${chann.name}"`)
  76. })
  77. } else {
  78. let e2 = new MessageEmbed()
  79. .setDescription(`I have kicked ${member.user.tag}`)
  80. .setColor(config.embed.color)
  81. .setFooter(config.embed.footer)
  82. chann.send(e2).catch(e => {
  83. if (e && config.debug) return console.log(`I was not able to send a message in the alt account channel. alt account channel is "${chann.name}"`)
  84. })
  85. }
  86. }, 2000);
  87. }
  88. }
  89. }
  90. })
  91.  
  92. nat.login(config.token).catch(e => {
  93. if (e) {
  94. if (config.debug) {
  95. console.log(chalk.red `[ERROR] ` + chalk.white `You token is invalid within the config file!\n${e}`)
  96. }
  97. }
  98. })
Advertisement
Add Comment
Please, Sign In to add comment