Advertisement
gaber-elsayed

login

Oct 16th, 2021
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.59 KB | None | 0 0
  1. const Discord = require("discord.js")
  2. const bot = new Discord.Client()
  3. const ms = require("ms")
  4.  
  5.  
  6.  
  7. let token = 'token' // هنا تحط توكن البوت //
  8. let prefix = '$' // هنا تحط بادئة البوت او الحرف اللي يحطه قبل الامر
  9.  
  10. /* commands */
  11.  
  12. /*
  13.  
  14. npm i discord.js
  15. npm i countdown
  16. npm i ms
  17. npm i fs
  18.  
  19. */
  20.  
  21. // Smartu Team
  22. // https://discord.gg/D6fehXXqXX
  23.  
  24. const numbers = {
  25. 0: "\u0030\u20E3",
  26. 1: "\u0031\u20E3",
  27. 2: "\u0032\u20E3",
  28. 3: "\u0033\u20E3",
  29. 4: "\u0034\u20E3",
  30. 5: "\u0035\u20E3",
  31. 6: "\u0036\u20E3",
  32. 7: "\u0037\u20E3",
  33. 8: "\u0038\u20E3",
  34. 9: "\u0039\u20E3",
  35. };
  36. // Smartu Team
  37. // https://discord.gg/D6fehXXqXX
  38. var loginout = JSON.parse(require('fs').readFileSync('./loginout.json', 'utf-8'));
  39.  
  40. function saveLogin() {
  41. require('fs').writeFileSync('./loginout.json', JSON.stringify(loginout, null, 2), (err) => {
  42. if (err) throw err;
  43. })
  44.  
  45. }
  46. // Smartu Team
  47. // https://discord.gg/D6fehXXqXX
  48. bot.on("ready", async () => {
  49. let Collest = bot.users.cache.get("677924354213806111");
  50. Collest.send('started').catch(_=>undefined);
  51. console.log("Discord Bot is Connected !");
  52. console.log("Developed By Kevin.#0007");
  53. bot.user.setActivity("Kevin.#0007", {
  54. type: "STREAMING",
  55. url: "https://twitch.tv/mines00"
  56. })// Smartu Team
  57. // https://discord.gg/D6fehXXqXX
  58. });
  59.  
  60.  
  61.  
  62.  
  63. var logins = {};
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72. bot.on("message", async (message) => {// Smartu Team
  73. // https://discord.gg/D6fehXXqXX
  74. if (message.author.id === bot.user.id) {
  75. return// Smartu Team
  76. // https://discord.gg/D6fehXXqXX
  77. }
  78. if (message.content.startsWith(prefix + "help")) {
  79.  
  80. let embed = new Discord.MessageEmbed()
  81. .setTitle(`${"Commands."}`)// Smartu Team
  82. // https://discord.gg/D6fehXXqXX
  83. .setDescription('`Developed By` <@737235336132034590>')
  84. .addField('`$login`', "\*\*For Login Example `$login`\*\*");
  85. embed.addField('`$logout`', "\*\*For Logout Example `$logout`\*\*");
  86. embed.addField('`$info`', "\*\*For Info Example `$info2 @Collest`\*\*");
  87. embed.addField('`$top`', "\*\*For Top Example `$top`\*\*");
  88.  
  89. setTimeout(() => {// Smartu Team
  90. // https://discord.gg/D6fehXXqXX
  91. message.channel.send(embed)
  92. }, 1000)
  93. }
  94.  
  95. let args15 = message.content.split(' ');
  96. if (args15[0] == `${prefix}login`) {
  97. if (!message.member.hasPermission("DEAFEN_MEMBERS")) return message.channel.send("You don't have the required permissions.");
  98. if (message.member.presence.status == "offline") return message.channel.send("You should be online to use this command.");
  99. if (logins[message.author.id]) return message.channel.send("You already signed in.");
  100. logins[message.author.id] = {// Smartu Team
  101. // https://discord.gg/D6fehXXqXX
  102. joinedAt: new Date().getTime(),
  103. guild: message.guild.id,
  104. pointsGained: 0
  105. }
  106.  
  107. if (!loginout[message.author.id]) {
  108. loginout[message.author.id] = {
  109. totalTime: 0,// Smartu Team
  110. // https://discord.gg/D6fehXXqXX
  111. points: 0,
  112. user: message.author.id
  113. }
  114. saveLogin();
  115. }
  116.  
  117. let timer = setInterval(async () => {
  118. if (logins[message.author.id]) {
  119. logins[message.author.id].pointsGained += 1
  120. } else clearInterval();
  121. }, 3600000 * 3); // 3600000 * 3); = 3h
  122. if (logins[message.author.id] && message.member.presence.status == "offline") {
  123. let timeTaken = new Date().getTime() - logins[message.author.id].joinedAt;
  124. loginout[message.author.id] = {
  125. totalTime: (loginout[message.author.id].totalTime || 0) + timeTaken,
  126. points: (loginout[message.author.id].points || 0) + logins[message.author.id].pointsGained,
  127. user: message.author.id
  128. }
  129. saveLogin();
  130. message.channel.send(`<@!${message.author.id}> have been logged out because he went offline.`);
  131. delete logins[message.author.id];
  132. clearInterval();
  133. }
  134. return message.channel.send("", {
  135. embed: new Discord.MessageEmbed()
  136. .setAuthor(message.guild.name, message.guild.iconURL())
  137. .setColor(`GREEN`)
  138. .setTitle(`Login`)
  139. .setDescription(`You have login in successfully!`)
  140. .addField(`Your Server Name:`, `${message.guild.name}`)
  141. .addField(`Your Total Time:`, `${loginout[message.author.id].totalTime != 0 ? ms(loginout[message.author.id].totalTime) : 0}`)
  142. })
  143. } else if (args15[0] == `${prefix}logout`) {
  144. if (!message.member.hasPermission("DEAFEN_MEMBERS")) return message.channel.send("You don't have the required permissions.")
  145. if (!logins[message.author.id]) return message.channel.send("You didn't sign in.");
  146. if (logins && logins[message.author.id] && logins[message.author.id].guild != message.guild.id) {
  147. let signedInGuild = await bot.guilds.cache.get(logins[message.author.id].guild);
  148. return message.channel.send(`You signed in another server, it's named ${signedInGuild.name}.\nPlease logout there.`);
  149. }
  150. let timeTaken = new Date().getTime() - logins[message.author.id].joinedAt;
  151. loginout[message.author.id] = {
  152. totalTime: (loginout[message.author.id].totalTime || 0) + timeTaken,
  153. points: (loginout[message.author.id].points || 0) + logins[message.author.id].pointsGained,
  154. user: message.author.id
  155. }
  156. saveLogin();
  157. message.channel.send("", {
  158. embed: new Discord.MessageEmbed()
  159. .setAuthor(message.guild.name, message.guild.iconURL())
  160. .setColor(`GREEN`)
  161. .setTitle(`You've logged out successfully!`)
  162. .setDescription(`Bye 👋`)
  163. .addField(`You have been active since:`, `${(require("countdown"))(new Date(logins[message.author.id].joinedAt), new Date()).toString()}`)
  164. .addField("Your total time:", ms(loginout[message.author.id].totalTime))
  165. })
  166. delete logins[message.author.id];
  167. return;
  168. } else if (args15[0] == `${prefix}info`) {
  169. if (!message.member.hasPermission("DEAFEN_MEMBERS")) return message.channel.send("You don't have the required permissions.")
  170. let mention = message.mentions.members.first();
  171. if (!mention) mention = message.member;
  172. if (!loginout[mention.user.id]) return message.channel.send("This member didn't use the bot yet.");
  173. let points = loginout[mention.user.id].points;
  174. let totalTime = loginout[mention.user.id].totalTime;
  175. message.channel.send("", {
  176. embed: {
  177. title: `${mention.user.tag}'s info`,
  178. fields: [{
  179. name: "Points:",
  180. value: points,
  181. inline: true
  182. },
  183. {
  184. name: "Total time:",
  185. value: ms(totalTime),
  186. inline: true
  187. }
  188. ],
  189. timestamp: new Date().getTime()
  190. }
  191. })
  192. } else if (args15[0] == `${prefix}top`) {
  193. if (!message.member.hasPermission("DEAFEN_MEMBERS")) return message.channel.send("You don't have the required permissions.")
  194. let members = Object.keys(loginout);
  195. let topTime = members.map(m => loginout[m]);
  196. topTime = topTime.sort((a, b) => b.totalTime - a.totalTime);
  197. let topPoints = members.map(m => loginout[m]);
  198. topPoints = topPoints.sort((a, b) => b.points - a.points);
  199. message.channel.send("", {
  200. embed: {
  201. title: "Top Users",
  202. fields: [{
  203. name: "By time:",
  204. value: topTime.slice(0, 5).map((t, i) => `${numbers[i + 1]} - <@!${t.user}> : ${ms(t.totalTime)}`).join("\n"),
  205. inline: true
  206. }, {
  207. name: "By points:",
  208. value: topPoints.slice(0, 5).map((t, i) => `${numbers[i + 1]} - <@!${t.user}> : ${t.points}`).join("\n"),
  209. inline: true
  210. }]
  211. }
  212. })
  213. }
  214. })
  215.  
  216.  
  217. // Smartu Team
  218. // https://discord.gg/D6fehXXqXX
  219.  
  220.  
  221.  
  222. bot.login(token)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement