const { Client, GatewayIntentBits, Events, EmbedBuilder } = require('discord.js');
// Bot tokeninizi buraya ekleyin
const TOKEN = 'TOKEN'; // Bot tokenini buraya yaz
const BOT_OWNER_ID = 'İDBURAYA'; // Bot sahibinin ID'si
// Kullanıcıların bildirim almak istemediği zamanlarda engelleneceği liste
const blockedUsers = new Set();
// Botun tanımlanması
const client = new Client({ intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent, GatewayIntentBits.GuildMembers] });
client.once(Events.ClientReady, () => {
console.log(`Bot olarak giriş yapıldı: ${client.user.tag}`);
});
// Toplu DM gönderme komutu
client.on('messageCreate', async message => {
if (message.content.startsWith('!gönder') && message.author.id === BOT_OWNER_ID) {
const args = message.content.split(' ').slice(1);
const dmMessage = args.join(' ');
if (!dmMessage) {
return message.reply('Gönderilecek bir mesaj belirtmelisiniz.');
}
const guildMembers = await message.guild.members.fetch();
let successCount = 0;
let failCount = 0;
guildMembers.forEach(async member => {
if (!member.user.bot && !blockedUsers.has(member.id)) { // Botları ve engellenenleri atla
try {
await member.send(dmMessage);
successCount++;
} catch (error) {
failCount++;
}
}
});
// İşlem tamamlandıktan sonra kullanıcıya bilgi ver
setTimeout(() => {
message.reply(`Mesaj başarıyla ${successCount} kullanıcıya gönderildi. ${failCount} kullanıcıya gönderilemedi.`);
}, 5000); // 5 saniye bekle
}
// Bildirimleri kapatma komutu
if (message.content === '!bildirim-kapa') {
try {
blockedUsers.add(message.author.id); // Kullanıcıyı engelle
await message.reply('Artık bu bot tarafından bildirim almayacaksınız. ✉️❌');
} catch (error) {
console.log(`Kullanıcıyı engelleme sırasında bir hata oluştu: ${error}`);
}
}
});
// Botu çalıştır
client.login(TOKEN);