Arkadaşlarını "uwulock"layan, eğlence amaçlı bir Discord botu. Kilitlediğin kişi mesaj attığında bot mesajını siler ve aynı isim/avatar ile uwu'laştırılmış halini webhook üzerinden tekrar gönderir (mesajın yanındaki "APP" etiketi webhook olduğunu gösterir).
⚠️ Sorumlu kullanım: Bu bot şaka amaçlıdır. Lütfen bunu istemeyen arkadaşlarınızla kullanmayın. Sunucu sahibi olmadığınız yerlerde veya rızası olmayan kişilerde kullanmayın.
- Kilitli kişinin mesajlarını otomatik uwu'laştırır (l/r → w, kekeleme, kelime değişimleri, emoji ve aksiyon ifadeleri)
- Türkçe ve İngilizce kelime değişimleri (
değil→diil,love→wuvvb.) - Linkleri, kod bloklarını, mention ve özel emojileri bozmaz
- Mesaj düzenlenirse de yakalar
- Toplu kilitleme/açma (
!uwulockall,!uwuunlockall) - Skor tablosu (
!uwustats) ve bot durumunda (presence) kaç kişinin kilitli olduğunu gösterme - Tüm komutlar sadece bot sahibine (
OWNER_ID) açık
- https://discord.com/developers/applications adresine git, New Application'a tıkla.
- Sol menüden Bot sekmesine gir, Reset Token ile token'ı al (bunu kimseyle paylaşma!).
- Aynı sayfada Privileged Gateway Intents kısmından şunları aç:
MESSAGE CONTENT INTENTSERVER MEMBERS INTENT
- Sol menüden OAuth2 → URL Generator'a gir.
- Scopes:
bot - Bot Permissions:
- Manage Webhooks
- Manage Messages
- View Channels
- Send Messages
- Read Message History
- Embed Links
- Attach Files
- Oluşan linki tarayıcıda aç ve botu sunucuna ekle.
pip install -r requirements.txtAynı klasörde bir .env dosyası oluştur ve şunları yaz:
DISCORD_BOT_TOKEN=buraya_token_gelecek
OWNER_ID=senin_discord_kullanici_idn
Discord ID'ni nasıl bulursun?
- Discord → Ayarlar → Gelişmiş (Advanced) → Geliştirici Modu'nu aç.
- Kendi profiline sağ tıkla → Kullanıcı Kimliğini Kopyala (Copy User ID).
- Bu sayıyı
OWNER_IDolarak yapıştır.
(İstersen .env yerine ortam değişkeni olarak da ayarlayabilirsin.)
python uwulock_bot.py
⚠️ Tüm komutlar sadeceOWNER_IDile eşleşen kişi tarafından kullanılabilir. Başka biri komut yazarsa bot hiçbir cevap vermez — komutların var olduğu bile fark edilmez.
| Komut | Açıklama |
|---|---|
!uwulock @kişi |
Kişiyi kilitler, mesajları otomatik uwu'laşır |
!uwuunlock @kişi (!kapat @kişi) |
O kişinin kilidini kaldırır |
!uwulockall |
Sunucudaki herkesi kilitler (sahip ve botlar hariç) |
!uwuunlockall |
Sunucudaki tüm kilitleri kaldırır |
!uwulist |
Kilitli kişileri listeler |
!uwuify <metin> |
Metni test amaçlı uwu'laştırır |
!uwustats |
Kim kaç kez uwulandı, skor tablosunu gösterir |
!uwustatus <durum> |
Botun durumunu değiştirir: online, idle, invisible, dnd |
!uwuhelp |
Komut listesini gösterir |
!botukapat (!shutdown) |
Botun kendisini tamamen kapatır |
- Kilitli kişi mesaj attığında, bot orijinal mesajı siler.
- O kanalda kendine ait bir webhook oluşturur (yoksa).
- Webhook üzerinden, kişinin adı ve avatarıyla uwu'laştırılmış mesajı gönderir. Bu sayede mesaj sanki o kişi öyle yazmış gibi görünür ama "UYG"/"APP" etiketiyle webhook olduğu da anlaşılır.
!ile başlayan mesajlar (komutlar) uwu'laştırılmaz. Ama unutma: komutlara sadeceOWNER_IDcevap alabilir, kilitli kişi!uwuunlockyazsa da bot ona cevap vermez/kilidi açmaz.- Linkler,
```kod bloğu```/`satır içi kod`, Discord mention'ları (<@...>,<#...>), özel emojiler (<:isim:id>) ve zaman damgaları (<t:...>) uwuify'dan etkilenmez, olduğu gibi korunur. - Bot, kilitli birinin her mesajını saydırır;
!uwustatsile kim kaç kez uwulandığını gösteren bir skor tablosu görebilirsin. - Kilitli biri mesajını düzenlerse (edit), bot bunu da yakalar: eski mesajı silip düzenlenmiş hâlini uwu'laştırılmış olarak tekrar gönderir.
- Bot, "durumunda" (presence/activity) kaç kişinin şu anda kilitli olduğunu
👀 X kişi uwulandı 💕şeklinde gösterir. Bu sayı tüm sunuculardaki toplam kilitli kişi sayısıdır. !uwustatus online|idle|invisible|dndile botun Discord üzerindeki görünürlük durumunu değiştirebilirsin.invisibleseçilirse bot çevrimdışı görünür ama arka planda çalışmaya devam eder.
- Bot, mesajları silebilmesi için Manage Messages, taklit mesaj gönderebilmesi için Manage Webhooks yetkisine sahip olmalı.
- Kilit listesi ve istatistikler
uwulock_data.jsondosyasında saklanır, bot yeniden başlatılsa da kaybolmaz. Dosyanın yapısı:{ "locks": {"sunucu_id": [kullanici_id, ...]}, "stats": {"sunucu_id": {"kullanici_id": kac_kez_uwulandi}} } - Uwuify fonksiyonu rastgele çalışır: harfleri "w"ya çevirir, kekeleme ekler
(
m-m-m-), aralarauwu/owo/*utanarak başka tarafa bakar*gibi ifadeler ve emoji serpiştirir.!uwuifykomutuyla istediğin kadar test edebilirsin.
Pull request'lere açığız! Özellikle:
WORD_SUBSTITUTIONSsözlüğüne yeni kelime/dil eklemeFACESlistesine yeni ifadeler ekleme- Yeni komutlar veya iyileştirmeler
Büyük bir değişiklik yapmadan önce bir issue açıp tartışmak iyi olur.
Bu proje MIT Lisansı ile lisanslanmıştır.
Ast tarafından ❤️ ile hazırlandı
