- fearless_crazy
- Katılım
- 14 Nis 2025
- Mesajlar
- 1
- Tepkime puanı
- 0
- Şehir
- Ankara
JavaScript:
"use strict";
const {
EmbedBuilder,
ChannelType,
GuildDefaultMessageNotifications
} = require("discord.js");
exports.run = async (client, message, args) => {
const {
guildId,
guild,
} = message;
// Sunucu resimleri
const guildIcon = guild.iconURL({ extension: "png", forceStatic: false, size: 1024 });
const guildBanner = guild.bannerURL({ extension: "png", forceStatic: false, size: 1024 });
const guildSplash = guild.splashURL({ extension: "png", forceStatic: false, size: 1024 });
const guildDiscoverySplash = guild.discoverySplashURL({ extension: "png", forceStatic: false, size: 1024 });
// Sayılabilen veriler
const allMembers = guild.members.cache;
const allEmojis = guild.emojis.cache;
const allBots = allMembers.filter(member => member.user.bot);
const allChannels = guild.channels.cache;
const allRoles = guild.roles.cache.clone();
const animatedEmojis = allEmojis.filter(emoji => emoji.animated);
const channelsCount = {
text: 0,
voice: 0,
category: 0,
others: 0
};
const statusCount = {
total: 0,
online: 0,
idle: 0,
dnd: 0,
offline: 0
};
// Bütün üyelerde dolaş ve durum sayılarını kaydet
allMembers.forEach(member => {
if (!member.presence || member.presence.status === "offline") statusCount.offline += 1;
else {
statusCount[member.presence.status] += 1;
statusCount.total += 1;
}
});
// Bütün kanallarda dolaş ve kanal sayılarını kaydet
allChannels.forEach(channel => {
switch (channel.type) {
case ChannelType.GuildText:
channelsCount.text += 1;
break;
case ChannelType.GuildVoice:
channelsCount.voice += 1;
break;
case ChannelType.GuildCategory:
channelsCount.category += 1;
break;
default:
channelsCount.others += 1;
break;
}
});
allRoles.delete(guildId);
const createdTimestampWithSeconds = Math.round(guild.createdTimestamp / 1000);
const basicInformation = [
`🆔 **Sunucu ID'si:** ${guildId}`,
`📅 **Sunucu kuruluş tarihi:** <t:${createdTimestampWithSeconds}:F> - <t:${createdTimestampWithSeconds}:R>`,
`🔔 **Sunucu varsayılan mesaj bildirimleri:** ${guild.defaultMessageNotifications == GuildDefaultMessageNotifications.AllMessages ? "Tüm mesajlar 📬" : `Sadece etiketler 🎭`}`
];
// Eğer sunucunun özel daveti varsa onu da ekle
const vanityData = await guild.fetchVanityData().catch(() => { });
if (vanityData) basicInformation.push(`✉️ **Sunucunun özel daveti:** https://discord.gg/${vanityData.code} - (${vanityData.uses})`);
// Sunucunun afk kanalı veya kurallar kanalı varsa onu da ekle
if (guild.afkChannel) basicInformation.push(`🔇 **AFK kanalı:** <#${guild.afkChannelId}> (${guild.afkTimeout} saniye)`);
if (guild.rulesChannel) basicInformation.push(`📕 **Kurallar kanalı:** <#${guild.rulesChannel}>`);
basicInformation.push(`👑 **Sunucu sahibi:** <@${guild.ownerId}> - (${guild.ownerId})`);
// Sayıyı insanlaştırmak için kullanılan fonksiyon
function toHumanize(number) {
return number?.toLocaleString("tr-TR");
}
const MAX_SHOW_ROLE_IN_INFO = 40;
const embed = new EmbedBuilder()
.setAuthor({
name: guild.name,
iconURL: guildIcon
})
.addFields(
{
name: "TEMEL BİLGİLER",
value: basicInformation.join("\n")
},
{
name: `KANALLAR (${toHumanize(allChannels.size)})`,
value: `📃 **Yazı kanalı:** ${toHumanize(channelsCount.text)}\n` +
`🔊 **Ses kanalı:** ${toHumanize(channelsCount.voice)}\n` +
`🖇️ **Kategori:** ${toHumanize(channelsCount.category)}\n` +
`🎞️ **Diğer kanallar:** ${toHumanize(channelsCount.others)}`,
inline: true
},
{
name: `ÜYELER (${toHumanize(allMembers.size)})`,
value: `👥 **Üye sayısı:** ${toHumanize(allMembers.size - allBots.size)}\n` +
`🤖 **Bot sayısı:** ${toHumanize(allBots.size)}`,
inline: true
},
{
name: `DURUMLAR (${toHumanize(statusCount.total)})`,
value: `🟢 **Çevrimiçi:** ${toHumanize(statusCount.online)}\n` +
`🟡 **Boşta:** ${toHumanize(statusCount.idle)}\n` +
`🔴 **Rahatsız etmeyin:** ${toHumanize(statusCount.dnd)}\n` +
`⚫ **Çevrimdışı:** ${toHumanize(statusCount.offline)}`,
inline: true
},
{
name: `EMOJİLER (${allEmojis.size})`,
value: `🧱 **Animasyonsuz emojiler:** ${allEmojis.size - animatedEmojis.size}\n` +
`💫 **Animasyonlu emojiler:** ${animatedEmojis.size}`
},
{
name: "BOOST BİLGİLERİ",
value: `💖 **Boost basan kişi sayısı:** ${allMembers.filter(member => member.premiumSinceTimestamp).size}\n` +
`🚀 **Basılan boost sayısı:** ${guild.premiumSubscriptionCount || "0"}\n` +
`📈 **Boost seviyesi:** ${guild.premiumTier} level`,
inline: true
},
{
name: "FOTOĞRAFLAR",
value: `🖥️ **Profil fotoğrafı:** ${guildIcon ? `[ [URL] ](${guildIcon})` : "~~[URL]~~"}\n` +
`🖼️ **Banner:** ${guildBanner ? `[ [URL] ](${guildBanner})` : "~~[URL]~~"}\n` +
`💌 **Davet arka planı:** ${guildSplash ? `[ [URL] ](${guildSplash})` : "~~[URL]~~"}\n` +
`📡 **Keşfetme arka planı:** ${guildDiscoverySplash ? `[ [URL] ](${guildDiscoverySplash})` : "~~[URL]~~"}`,
inline: true
},
{
name: `🎭 ROLLER (${toHumanize(allRoles.size)})`,
value: [...allRoles.values()]
.sort((a, b) => b.position - a.position)
.slice(0, MAX_SHOW_ROLE_IN_INFO)
.map(role => `<@&${role.id}>`)
.join(" | ") +
(allRoles.size > MAX_SHOW_ROLE_IN_INFO ? ` +${toHumanize(allRoles.size - MAX_SHOW_ROLE_IN_INFO)} daha rol...` : ""),
})
.setThumbnail(guildIcon)
.setColor("Blue")
.setTimestamp()
return message.reply({
embeds: [
embed
]
});
};
exports.conf = {
enabled: true,
guildOnly: true,
aliases: ['sunucubilgi', 'sunucubilgi', 'sbilgi', 'sunucubilgisi'],
permLevel: 0
}
exports.help = {
name: 'sunucubilgi',
}