Open Source Discord DMDuyuru Botu (Python)

  • Konuyu Başlatan Konuyu Başlatan tuxpy
  • Başlangıç tarihi Başlangıç tarihi

tuxpy

Gold Üye
Katılım
27 Eyl 2025
Mesajlar
255
Beğeniler
51
Daha demin bir konuda isteyen birisinin olduğunu gördüm, paylasmak istedim bos yorum atacaklar yorumlarını kendine saklasın, iyi geceler. İndirmeniz gereken pip paketleri import kısmında zaten belli.

Python:
import discord
import asyncio

TOKEN = ""

intents = discord.Intents.default()
intents.members = True
intents.message_content = True

client = discord.Client(intents=intents)

@client.event
async def on_ready():
    print(f'{client.user} olarak giriş yapıldı.')
    print('DM Duyuru Botu hazır. Komut bekliyor...')
    print('-----------------------------------------')

@client.event
async def on_message(message):
    if not message.content.startswith('!dmduyuru ') or message.author.bot or not message.guild:
        return

    if not message.author.guild_permissions.administrator:
        await message.channel.send(f"{message.author.mention}, bu komutu kullanmak için yönetici iznine sahip olmalısın.")
        return

    duyuru_mesaji = message.content[len('!dmduyuru '):].strip()
    if not duyuru_mesaji:
        await message.channel.send(f"{message.author.mention}, lütfen bir duyuru mesajı girin. Kullanım: `!dmduyuru <mesajınız>`")
        return

    onay_mesaji = await message.channel.send(
        f"**DİKKAT!**\n"
        f"Aşağıdaki mesaj sunucudaki **{message.guild.member_count}** üyeye gönderilmek üzere ayarlandı. Bu işlem geri alınamaz.\n\n"
        f"```\n{duyuru_mesaji}\n```\n"
        f"Gönderimi onaylamak için ✅ tepkisine, iptal etmek için ❌ tepkisine tıklayın."
    )
    await onay_mesaji.add_reaction('✅')
    await onay_mesaji.add_reaction('❌')

    def check(reaction, user):
        return user == message.author and str(reaction.emoji) in ['✅', '❌'] and reaction.message.id == onay_mesaji.id

    try:
        reaction, user = await client.wait_for('reaction_add', timeout=60.0, check=check)
    except asyncio.TimeoutError:
        await onay_mesaji.edit(content="Onay süresi doldu, işlem iptal edildi.", delete_after=10)
        return
    
    if str(reaction.emoji) == '❌':
        await onay_mesaji.edit(content="İşlem kullanıcı tarafından iptal edildi.", delete_after=10)
        return

    await onay_mesaji.delete()
    islem_raporu = await message.channel.send(f"✅ Onaylandı! Duyuru gönderimi başlatılıyor... Bu işlem sunucu büyüklüğüne göre zaman alabilir.")

    basarili_sayac = 0
    basarisiz_sayac = 0
    
    uyeler = message.guild.members
    toplam_uye = len(uyeler)

    for i, member in enumerate(uyeler):
        if member.bot:
            continue

        try:
            if i > 0 and i % 20 == 0:
                await asyncio.sleep(1)

            await member.send(duyuru_mesaji)
            basarili_sayac += 1
            print(f"Başarılı: {member.name}")
        except discord.Forbidden:
            basarisiz_sayac += 1
            print(f"Başarısız (DM Kapalı): {member.name}")
        except Exception as e:
            basarisiz_sayac += 1
            print(f"Başarısız (Bilinmeyen Hata - {member.name}): {e}")
        
        if (i + 1) % 50 == 0:
            try:
                await islem_raporu.edit(content=f"İşlem devam ediyor... ({i+1}/{toplam_uye})")
            except discord.NotFound:
                break

    try:
        await islem_raporu.edit(
            content=f"**Duyuru Gönderimi Tamamlandı!**\n\n"
                    f"✅ **Başarılı Gönderim:** {basarili_sayac} üye\n"
                    f"❌ **Başarısız Gönderim:** {basarisiz_sayac} üye (DM'leri kapalı veya botu engellemiş olabilirler)"
        )
    except discord.NotFound:
        await message.channel.send(
            f"**Duyuru Gönderimi Tamamlandı!**\n\n"
            f"✅ **Başarılı Gönderim:** {basarili_sayac} üye\n"
            f"❌ **Başarısız Gönderim:** {basarisiz_sayac} üye"
        )

client.run(TOKEN)
 
Bu kullanıcıyla herhangi bir iş veya ticaret yapmak istiyorsanız, forumdan uzaklaştırıldığını sakın unutmayın.
Bot ban yer mi
 
eline saglik random sunuculara girip milleti taciz edicem
 

Şuanda konuyu görüntüleyen kullanıcılar

Geri
Üst Alt