const Discord = require ('discord.js'); const moment = require('moment'); //لطفا این رو حتما دانلود کنید | https://momentjs.com/ const client = new Discord.Client(); /* اگه مشکلی بود میتونید داخل دیسکورد بهم بگید کمکتون میکنم Discord ID: RezaPC#9860 */ //Ready //این استاتوس باتتون هست و میتونه بگه تو چندتا سرور هست و چند تا ممبر این بات رو میبینند client.on('ready', ()=>{ client.user.setPresence({ activity: { name: `${client.guilds.cache.size} Servers| ${client.users.cache.size} Members`, type:'WATCHING'}, status:'online'}) }) //داخل کنسول اسم و تگ باتتون رو مینیوسه که انلاین شده client.on('ready', () =>{ console.log(`${client.user.tag} Is Online Now.`); }) /////////////////////////////// /* اینم خوش آمد میگه و لطفا چنل ایدی رو اسم چنلی که میخواید بفرسته رو فیکس کنید یک نکته ای که هست اینه که داخل سایت دولپر پورتال دیسکورد باید باتتون رو بهش اجازه خوندن اطلاعات ممبر هارو بدی */ client.on('guildMemberAdd', member =>{ const WelcomeMessage = new Discord.MessageEmbed() .setColor(`RANDOM`) .setTitle('???? Welcome to our server' + member.user.username + ' ????') .setDescription(`????Please read the rules channel ➡ <#ایدی چنل قوانین رو میتونید بزارید>`) .setThumbnail('لینک عکس داخل تامنیل') .addFields( {name: 'Server members count now with you:', value: '**`' + member.guild.memberCount + '`**', inline:true,} ) .setFooter(`????‍♂️ | ${member.user.tag} ⁝ ` + moment().calendar() + ''); member.guild.channels.cache.find(i => i.name === 'اسم چنلی که میخوایید بات ولکام بده').send(`${member.user}`, WelcomeMessage) }) //Server stats | این هم کامند سرور هستش که میتونه اطلاعات دقیق درمورد سرور بده client.on('message', message=>{ if (message.content.toLocaleLowerCase() == 'server'){ const OnlineMemberCount = message.guild.members.cache.filter(m => m.roles.cache.find(r => r.name === '@everyone') && m.presence.status === 'online' ).size const OfflineMemberCount = message.guild.members.cache.filter(m => m.roles.cache.find(r => r.name === '@everyone') && m.presence.status === 'offline' ).size const DNDMemberCount = message.guild.members.cache.filter(m => m.roles.cache.find(r => r.name === '@everyone') && m.presence.status === 'dnd' ).size const IdleMemberCount = message.guild.members.cache.filter(m => m.roles.cache.find(r => r.name === '@everyone') && m.presence.status === 'idle' ).size const server = new Discord.MessageEmbed() .setTitle('ServerName : ' + message.guild.name + '') .setThumbnail(message.guild.iconURL({dynamic:true})) .setColor(`RANDOM`) .addFields( {name:'???? | OwnerShip:', value: '`' + message.guild.owner.user.tag + '`', inline: true} ) .addFields( {name:'???? | Server ID:', value: '`' + message.guild.id + '`' ,inline: true} ) .addFields( {name:'???? | Create Time:', value: '`' + moment(message.guild.createdAt).startOf('day').fromNow() + '`', inline: true} ) // .addFields( // {name: '\u200b' , value:'**Members Stats ↓**'}, // ) .addFields( {name:'????‍????‍????‍???? | Members:', value: '`' + message.guild.memberCount + '`', inline: true}, {name:'???? | Online:', value: '`' + OnlineMemberCount + '`', inline: true}, {name:'⚫ | Offline:', value:'`' + OfflineMemberCount + '`', inline: true}, {name:'???? | DND:', value:'`' + DNDMemberCount + '`', inline: true}, {name:'???? | Idle:', value:'`' + IdleMemberCount + '`', inline: true}, ) // .addFields( // {name: 'Members Stats ↑' , value:'\u200b'}, // ) .addFields( {name:'???? | Region:', value: '`' + message.guild.region + '`', inline: true} ) .addFields( {name:'???? | AFK Time:', value: '`' + message.guild.afkTimeout + '`Seconds', inline: true} ) .addFields( {name:'???? | Rules ChannelID:', value: '`' + message.guild.rulesChannel + '`', inline: true} ) .addFields( {name:'???? | Features:', value: '`' + message.guild.features + '`', inline: true} ) message.channel.send(server) } }) // L o g | تاریخچه کارایی که تو سرور در حال انجامه //Deleted Messages | مسیج هایی که دیلیت شدن رو میزاره تو چنل لاگز اگه هم وجود نداشته باشه خودش میسازه client.on('messageDelete', async (message) => { const logs = message.guild.channels.cache.find(channel => channel.name === "logs"); if (message.guild.me.hasPermission('MANAGE_CHANNELS') && !logs) { message.guild.channels.create('logs', {type:'text'}); } if (!message.guild.me.hasPermission('MANAGE_CHANNELS') && !logs) { console.log('The logs channel does not exist and tried to create the channel but I am lacking permissions') } const AuditLog = await message.guild.fetchAuditLogs({type: 'MESSAGE_DELETE'}).then(audit => audit.entries.first()) let user = "" if (AuditLog.extra.channel.id === message.channel.id && (AuditLog.target.id === message.author.id) && (AuditLog.createdTimestamp > (Date.now() - 5000)) && (AuditLog.extra.count >= 1)) { user = AuditLog.executor.username } else { user = message.author.username } logs.send(new Discord.MessageEmbed() .setTitle (`????️ Message Deleted | ${message.guild.name}`) .setColor('#ff0000') .addFields( {name: '???? Channel : ', value: ' **<#' + message.channel.id + '>**' , inline:true}, {name: '???? Owner : ', value: ' **<@' + message.member.user + '>**' , inline:true}, {name: '❎ Deleted by : ', value: '**' + user + '**' }, {name: '???? Message Content : ', value: '**' + message.content + '**' , inline:true} ) ) }) //Edited Messages | مسیج هایی که ادیت شدن رو میزاره تو چنل لاگز اگه هم وجود نداشته باشه خودش میسازه client.on('messageUpdate', async (newMessage ,message) => { if (message.author.bot)return; const logs = message.guild.channels.cache.find(channel => channel.name === "logs"); if (message.guild.me.hasPermission('MANAGE_CHANNELS') && !logs) { message.guild.channels.create('logs', {type:'text'}); } if (!message.guild.me.hasPermission('MANAGE_CHANNELS') && !logs) { console.log('The logs channel does not exist and tried to create the channel but I am lacking permissions') } const AuditLog = await message.guild.fetchAuditLogs({type: 'MESSAGE_DELETE'}).then(audit => audit.entries.first()) let user = "" if (AuditLog.extra.channel.id === message.channel.id && (AuditLog.target.id === message.author.id) && (AuditLog.createdTimestamp > (Date.now() - 5000)) && (AuditLog.extra.count >= 1)) { user = AuditLog.executor.username } else { user = message.author.username } logs.send(new Discord.MessageEmbed() .setTitle (`???? Message Edited | ${message.guild.name}`) .setColor('#0000ff') .addFields( {name: '???? Channel : ', value: ' **<#' + message.channel.id + '>**' , inline:true}, {name: '???? Edited by : ', value: '**<@' + message.member.user + '>**', inline:true}, {name: '✅ New Message : ', value: '**' + message.content + '**',}, {name: '❎ Old Message : ', value: '**' + newMessage.content + '**' , inline:true}, ) ) }) //Log channel creataor | این کامند رو کسایی که ادمین هستن میتونن استفاده بکنن و این کامند یه چنل لاگ میسازه client.on('message', message =>{ if (message.content.toLocaleLowerCase() == 'logc'){ if (message.author.bot)return; if (!message.member.hasPermission('ADMINISTRATOR')) return message.channel.send(`${message.member.user.tag} | You dont have permission to use this command`); if (!message.guild.channels.cache.find(lc => lc.name === 'logs')){ if (message.guild.me.hasPermission('MANAGE_CHANNELS')){ const LoggerCreated = message.guild.channels.create('logs', {type:'text'}); message.channel.send(`The channel created`); } if (!message.guild.me.hasPermission('MANAGE_CHANNELS')) return message.channel.send(`${message.member.user} | I cant create any channel in this server (Please check my permissions)`); } return message.channel.send(`<@${message.author.id}> | The channel already exist => **${message.guild.channels.cache.find(LogCreated => LogCreated.name === 'logs')}**`); } }) ///////////////////////////////////////////////////////////////// client.login('توکن بات')