gaber-elsayed

server info

Jul 6th, 2021
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. const dateformat = require('dateformat');
  2. const { MessageEmbed } = require('discord.js');
  3. const { trimArray } = require('../../util/util');
  4.  
  5. exports.run = async (client, message, args) => {
  6. let icon = message.guild.iconURL({size: 4096, dynamic: true});
  7.  
  8. let region = {
  9. "brazil": "Brazil",
  10. "eu-central": "Central Europe",
  11. "singapore": "Singapore",
  12. "london": "London",
  13. "russia": "Russia",
  14. "japan": "Japan",
  15. "hongkong": "Hongkong",
  16. "sydney": "Sydney",
  17. "us-central": "U.S. Central",
  18. "us-east": "U.S. East",
  19. "us-south": "U.S. South",
  20. "us-west": "U.S. West",
  21. "eu-west": "Western Europe"
  22. };
  23. let filterLevels = {
  24. DISABLED: 'Off',
  25. MEMBERS_WITHOUT_ROLES: 'No role',
  26. ALL_MEMBERS: 'Everyone'
  27. };
  28. let verificationLevels = {
  29. NONE: 'None',
  30. LOW: 'Low',
  31. MEDIUM: 'Medium',
  32. HIGH: 'High',
  33. VERY_HIGH: 'Highest'
  34. };
  35. let roles = message.guild.roles.cache
  36. .sort((a, b) => b.position - a.position)
  37. .map(role => role.toString());
  38. let nitroEmoji = client.customEmojis.get('nitro_badge');
  39. let member = message.guild.members;
  40. let offline = member.cache.filter(m => m.user.presence.status === "offline").size,
  41. online = member.cache.filter(m => m.user.presence.status === "online").size,
  42. idle = member.cache.filter(m => m.user.presence.status === "idle").size,
  43. dnd = member.cache.filter(m => m.user.presence.status === "dnd").size,
  44. robot = member.cache.filter(m => m.user.bot).size,
  45. total = message.guild.memberCount;
  46. let channels = message.guild.channels;
  47. let text = channels.cache.filter(r => r.type === "text").size,
  48. vc = channels.cache.filter(r => r.type === "voice").size,
  49. category = channels.cache.filter(r => r.type === "category").size,
  50. totalchan = text + vc;
  51. let location = region[message.guild.region];
  52. let x = Date.now() - message.guild.createdAt;
  53. let h = Math.floor(x / 86400000)
  54. let created = dateformat(message.guild.createdAt);
  55. let dots;
  56. if (roles.length) {
  57. if (roles.length > 5) dots = '...';
  58. else dots = ''
  59. } else dots = '';
  60. const embed = new MessageEmbed()
  61. .setFooter(message.member.displayName, message.author.displayAvatarURL({ dynamic: true }))
  62. .setColor(message.member.displayHexColor)
  63. .setTimestamp(new Date())
  64. .setThumbnail(icon)
  65. .setAuthor(`Information for ${message.guild.name}:`, client.user.displayAvatarURL())
  66. .setDescription(`**ID:** \`${message.guild.id}\``)
  67. .addField("\`🌐\` Region", location, true)
  68. .addField("\`📅\` Date created", `${created} \n**${h}** day(s) ago`, true)
  69. .addField("\`👑\` Owner", `**${message.guild.owner.user.toString()}** \n\`${message.guild.owner.user.id}\``, true)
  70. .addField(`\`👤\` Members [${total}]`, `Online: ${online} \nIdle: ${idle} \nDND: ${dnd} \nOffline: ${offline} \nBots: ${robot}`, true)
  71. .addField(`\`💬\` Channels [${totalchan}]`, `Text: ${text} \nVoice: ${vc} \nCategory: ${category}`, true)
  72. .addField('\`🔞\` Explicit filter', filterLevels[message.guild.explicitContentFilter], true)
  73. .addField('\`🔑\` Verification (Discord Server Setting)', verificationLevels[message.guild.verificationLevel], true)
  74. .addField(`${nitroEmoji} Boosting`, `Boost count: \`${message.guild.premiumSubscriptionCount || 0}\`${message.guild.premiumTier ? ` (Tier ${message.guild.premiumTier})` : ''}`, true)
  75. .addField(`\`🔥\` Roles [${roles.length}]`, roles.length ? trimArray(roles, 5).join(', ') + dots : 'None')
  76. message.channel.send(embed);
  77. }
  78. exports.help = {
  79. name: "server-info",
  80. description: "fetch the guild's information",
  81. usage: "server-info",
  82. example: "server-info"
  83. }
  84.  
  85. exports.conf = {
  86. aliases: ["serverinfo", "guildinfo", 'server'],
  87. cooldown: 5,
  88. guildOnly: true,
  89. channelPerms: ["EMBED_LINKS"]
  90. }
Advertisement
Add Comment
Please, Sign In to add comment