-
Küfür Filtresi Geliştirme: Daha kapsamlı bir küfür filtresi ekleyebiliriz, küfür içeren farklı ifadeleri tanımlayabilir ve sunucudaki tüm kanalları veya belirli kanalları izleyebiliriz.
-
CapsLock Filtresi Geliştirme: Büyük harf kullanımını izlemek için daha sofistike bir filtre ekleyebiliriz, örneğin, bir mesajın büyük harflerle yazılmış yüzdesini hesaplayabiliriz.
-
Spam Filtresi: Ardışık olarak gönderilen çok sayıda mesajı algılayan bir spam filtresi ekleyebiliriz ve gerektiğinde bu mesajları silerek kullanıcıyı uyarabiliriz.
-
URL Filtresi: Güvensiz veya istenmeyen URL'leri içeren mesajları engelleyen bir URL filtresi ekleyebiliriz.
-
Gelişmiş Komutlar: Kick ve ban komutlarına ek olarak, mute veya tempmute gibi daha fazla moderasyon komutu ekleyebiliriz.
bunlar botumuzda olacak korumalar şimdi kodlara geçelim
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.members = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'{bot.user.name} is ready')
@bot.event
async def on_member_join(member):
# Yeni katılan üyenin hoş geldin mesajını sil
async for message in member.guild.history(limit=10):
if message.author == member:
await message.delete()
break
@bot.event
async def on_message(message):
# Botun kendi mesajlarını işlememesi için kontrol
if message.author == bot.user:
return
# Küfür filtresi
banned_words = ["küfür1", "küfür2", "küfür3"] # Küfür içeren ifadeler
for word in banned_words:
if word in message.content.lower():
await message.delete()
await message.channel.send(f"{message.author.mention}, lütfen küfür etmeyin!")
break
# CapsLock filtresi
if len(message.content) > 10 and message.content.isupper():
await message.delete()
await message.channel.send(f"{message.author.mention}, lütfen büyük harf kullanımına dikkat edin!")
await bot.process_commands(message)
@bot.command()
async def kick(ctx, member: discord.Member, *, reason=None):
# Sunucudan bir üyeyi atma komutu
if ctx.author.guild_permissions.kick_members:
await member.kick(reason=reason)
await ctx.send(f"{member.display_name} sunucudan atıldı.")
else:
await ctx.send("Bu komutu kullanma izniniz yok.")
@bot.command()
async def ban(ctx, member: discord.Member, *, reason=None):
# Sunucudan bir üyeyi yasaklama komutu
if ctx.author.guild_permissions.ban_members:
await member.ban(reason=reason)
await ctx.send(f"{member.display_name} sunucudan yasaklandı.")
else:
await ctx.send("Bu komutu kullanma izniniz yok.")
bot.run("TOKEN")
HyperEs tarafından hazırlanmıştır.