Bu bot, Telegram gruplarını yönetmek, moderasyon sağlamak ve kullanıcı etkileşimini artırmak için geliştirilmiş gelişmiş bir bottur.
Bot üzerindeki tüm mesajlar HTML formatını destekler. Aşağıdaki etiketleri kullanabilirsiniz:
- Kalın:
<b>Kalın</b> - İtalik:
<i>İtalik</i> - Altı Çizili:
<u>Altı Çizili</u> - Üstü Çizili:
<s>Silik</s>,<strike>Üstü Çizili</strike> - Kod:
<code>Kod</code>,<pre>Blok Kod</pre> - Link:
<a href="https://google.com">Google</a> - Mention:
<a href="tg://user?id=123456">Kullanıcı Etiketi</a> - Spoiler:
<span class="tg-spoiler">Gizli Mesaj</span>,<tg-spoiler>Spoiler</tg-spoiler> - Alıntı:
<blockquote>Alıntı</blockquote> - Genişletilebilir Alıntı:
<blockquote expandable>Uzun Alıntı...</blockquote>
Butonlar {} (süslü parantez) içine alınarak tanımlanır. Her süslü parantez bir satırı temsil eder.
-
Tek Satırda Yan Yana Buton Ekleme:
{[Buton 1](link1) [Buton 2](link2)}(Araya boşluk koyarak yan yana ekleyebilirsiniz) -
Alt Alta Buton Ekleme:
{[Üst Buton](link)} {[Alt Buton](link)}(Yeni bir süslü parantez açarak alt satıra geçebilirsiniz) -
Karışık Buton Ekleme:
{[A](l) [B](l)} {[C](l)}(A ve B yan yana, C onların altında)
Hoşgeldin mesajlarında (/setwelcome) aşağıdaki değişkenleri kullanabilirsiniz:
| Değişken | Açıklama |
|---|---|
$name |
Kullanıcının adı (Tıklanabilir Mention olarak) |
$username |
Kullanıcı adı (Örn: ahmet123) |
$id |
Kullanıcının Telegram ID'si |
$language |
Kullanıcının dil kodu (Örn: tr) |
$title |
Grubun adı |
Örnek Kullanım:
Merhaba $name, $title grubuna hoş geldin! ID'n: $id
Gruba yeni biri katıldığında atılacak mesajı ayarlar. Metin, resim, video veya GIF kullanabilirsiniz.
Kullanım:
-
Sadece Metin:
/setwelcome Merhaba $name, aramıza hoş geldin! -
Medya ile (Fotoğraf/Video/GIF):
- Gruba bir fotoğraf/video gönderin.
- O medyayı yanıtlayarak (Reply) komutu yazın:
/setwelcome Merhaba $name, kuralları okumayı unutma!
-
Butonlu Örnek:
/setwelcome Hoş geldin $name! {[Kurallar](https://t.me/kural_linki) [Kanalımız](https://t.me/kanal_linki)}
💡 İpucu: Ayarladığınız mesajın nasıl göründüğünü test etmek için /welcome komutunu kullanabilirsiniz.
Grupta sık sorulan sorular veya hazır cevaplar için #hashtag komutları oluşturabilirsiniz.
- Ekleme:
/extra #komutadi Cevap metniÖrn:/extra #kurallar Grup kuralları şunlardır... - Silme:
/extradel #komutadi - Listeleme:
/extralist
İpucu: Extra komutlarına da buton ve HTML ekleyebilirsiniz.
Botun bulunduğu tüm kayıtlı gruplara mesaj göndermek için kullanılır. (Sadece Geliştiriciler)
- Düz Mesaj:
/broadcast Sistemsel bakım yapılacaktır. - Medyalı Mesaj: Bir fotoğrafa reply atarak
/broadcastyazarsanız, o mesaj tüm gruplara iletilir. - Butonlu:
/broadcast Yeni özellikler eklendi! {[Detaylar](https://site.com)}
Belirli bir kişiye veya gruba (ID kullanarak) mesaj göndermek için kullanılır. (Sadece Geliştiriciler)
- Kullanım:
/sendmsg <TargetID> <Mesaj> - Tek Kişiye:
/sendmsg 123456789 Merhaba nasılsın? - Gruba:
/sendmsg -1001234567890 Duyuru: Yarın bakım var. - Medya/Buton: Broadcast komutundaki gibi reply atarak veya HTML/Buton formatını kullanarak gönderim yapılabilir.
Grup ayarlarını yönetmek için grupta /menu yazın. Bot size özelden (PM) bir panel açacaktır.
Bu menüden grubunuzun temel davranışlarını ayarlayabilirsiniz:
-
Hoşgeldin Mesajı:
- ✅ Aktif: Gruba yeni biri katıldığında,
/setwelcomeile ayarladığınız mesaj gönderilir. - ⛔ Kapalı: Yeni gelenlere mesaj gönderilmez.
- ✅ Aktif: Gruba yeni biri katıldığında,
-
Hoşgeldin Mesajını Sil:
- ✅ Aktif: Yeni bir üye katıldığında, eski hoşgeldin mesajı silinir (Sohbet temizliği için).
- ⛔ Kapalı: Eski mesajlar silinmez.
-
Tüm #Notları Gör (/extralist):
- 👥 Herkes: Gruptaki tüm üyeler
/extralistkomutunu kullanabilir. - 👤 Sadece Admin: Sadece yöneticiler not listesini görebilir.
- 👥 Herkes: Gruptaki tüm üyeler
-
#Notlar Kullanımı (/extra):
- 👥 Herkes:
#notşeklinde çağrılan notları herkes kullanabilir. - 👤 Sadece Admin: Notları sadece yöneticiler çağırabilir.
- 👥 Herkes:
-
Kullanıcı Kayıt:
- ✅ Aktif: Kayıtlı olmayan kullanıcılar grupta mesaj gönderirse, bot onları uyarır ve kaydolmalarını ister.
- ⛔ Kapalı: Kayıt zorunluluğu yoktur.
-
Mesaj İletme Yasağı:
- ✅ Aktif: Kanallardan veya başka yerlerden yönlendirilen (forward) mesajlar yasaklanır.
- ⛔ Kapalı: İletilen mesajlara izin verilir.
-
İletim Yasağı Aksiyonu:
- Yasaklı bir iletim yapıldığında ne olacağını belirler (Sil, Uyar, Sustur, Yasakla vb.).
Belirli medya türlerini yasaklayabilir veya izin verebilirsiniz.
- Medya Türleri: Fotoğraf, Video, Ses, Sesli Mesaj, Sticker, Anket, Konum, Kişi, Link, APK vb.
- Medya Aksiyonu: Yasaklı bir medya gönderildiğinde ne yapılsın? (Sil, Uyar, Sustur, Yasakla vb.)
Mesaj uzunluklarını kontrol altında tutar.
- Maksimum Karakter: Bir mesajın en fazla kaç karakter olabileceğini belirler (Örn: 4000).
- Maksimum Satır: Bir mesajın en fazla kaç satırdan oluşabileceğini belirler.
- Aksiyon: Kurallar ihlal edildiğinde ne yapılsın? (Sil, Uyar, Sustur, Yasakla vb.)
- AntiFlood: Flood korumasını açar/kapatır.
- MaxFlood: Peş peşe kaç mesaja izin verileceği. (5 saniye içinde üst üste kaç mesaj atılabilir)
- Action: Flood yapan kullanıcıya ne yapılsın? (Mute/Kick/Ban)
- MaxWarns: Kaç uyarıda ceza verilsin (Örn: 3).
- WarnAction: Limit dolunca ne yapılsın? (Kick/Ban/Mute).
Menülerde gördüğünüz ikonlar şu anlama gelir:
| İkon | Anlamı | Açıklama |
|---|---|---|
| 👟 | Kick | Kullanıcı gruptan atılır (Tekrar girebilir). |
| 🔨 | Ban | Kullanıcı gruptan yasaklanır. (Tekrar giremez. Siz yasağı kaldırana kadar.) |
| ⏰ | TempBan | Kullanıcı geçici olarak yasaklanır (30 dk). |
| Warn | Kullanıcıya uyarı verilir. (Uyarı limitleri uyarı ayarları menüsünden yapılabi̇lir.) | |
| 🔇 | Mute | Kullanıcı susturulur. (Siz tekrar konuşmasına izin verene kadar.) |
| ✅ | Allowed | Eyleme/Medyaya izin verilir. |
| 🚫 | Blocked | Eylem/Medya engellenir. |
Otomatik Butonlar: Bot bir işlem yaptığında (Ban/Mute/Warn gibi), adminlerin işlemi geri alabilmesi için mesajın altına buton ekler:
✅ Yasağı Kaldır🗣 Sesi Aç⚠️ Uyarıyı Kaldır
Kullanıcıların gruplara kayıt olmasını ve bu kayıtların yönetilmesini sağlayan sistemdir.
Grup yöneticisi bu komutu grupta çalıştırır.
- Bot gruba "Kayıt Ol" butonu içeren bir mesaj gönderir.
- Kullanıcılar butona tıkladığında botun özel mesajına yönlendirilir.
- Ad Soyad bilgisi istenir.
- Yüz Yüze Eğitim: Kullanıcıya eğitime katılıp katılmayacağı sorulur (Katılıyorum / Katılmıyorum / Belirsiz).
- Seçim yapıldıktan sonra kayıt tamamlanır.
Sadece geliştiriciler (veya yetkili kişiler) kullanabilir.
- Komut çalıştığında kayıtlı tüm gruplar listelenir.
- Bir grup seçildiğinde, o gruptaki kayıtlı üyelerin listesi (Ad, ID, Katılım Durumu) CSV formatında oluşturulur ve size gönderilir.
💡 İpucu: Kayıt butonunu manuel olarak başka mesajlara (örneğin Welcome mesajına) eklemek isterseniz şu link formatını kullanabilirsiniz:
https://t.me/BotKullaniciAdi?start=register_GrupID
(Grup ID'sini /id veya /users listesinden öğrenebilirsiniz)
- Repo'yu klonlayın.
.envdosyasını düzenleyin.- Çalıştırın:
docker-compose up -d --buildGeliştiriciler için proje kurulum adımları:
- .NET 8.0 SDK
- Redis Server (Localhost:6379)
- Redis'i Başlatın: Yerel makinenizde Redis servisinin çalıştığından emin olun.
- Ayarları Yapılandırın:
.envdosyasını oluşturun (örnek dosyadan kopyalayabilirsiniz).- İçerisindeki
HELP_API_KEY,ADMIN_USER_IDSve Redis ayarlarını düzenleyin.
- Bağımlılıkları Yükleyin:
dotnet restore
- Projeyi Çalıştırın:
(Geliştirme modunda anlık değişiklikleri görmek için
dotnet run
dotnet watchkullanabilirsiniz)