Eggdrop Kullanıcı Bayrakları: Global ve Kanal Yetkilerinin Tam Rehberi
İçindekiler
Eggdrop'un en güçlü özelliklerinden biri ayrıntılı kullanıcı yetki sistemidir. Bot, tanıdığı her kullanıcıya bayrak (flag) adı verilen tek harflik yetkiler atar. Hangi kullanıcının op alacağı, kimin voice alacağı, kimin kanaldan atılacağı ve kimin botu yönetebileceği bu bayraklarla belirlenir. Bu rehberde Eggdrop bayrakları sistemini ayrıntılı olarak ele alıyoruz.
Bayrak Sisteminin Mantığı
Eggdrop bir kullanıcıyı önce host maskesiyle tanır. Örneğin *!*@ayse.example.net maskesine uyan biri kanala girdiğinde bot bu kişinin kullanıcı dosyasındaki "Ayse" kaydına ait olduğunu anlar. Ardından Ayse'nin bayraklarına bakarak nasıl davranacağına karar verir: op mu verecek, voice mu verecek, hiçbir şey mi yapmayacak, yoksa kanaldan mı atacak?
Bayraklar iki düzeyde tanımlanır:
- Global bayraklar: Botun bulunduğu bütün kanallarda geçerlidir.
- Kanal bayrakları: Yalnızca belirli bir kanalda geçerlidir.
Bu ayrım sayesinde aynı bot, bir kanalda op olan bir kullanıcıya başka bir kanalda hiçbir yetki vermeyebilir.
Global Bayraklar
| Bayrak | Anlamı |
|---|---|
| n | Owner (sahip): botun tam yönetim yetkisi |
| m | Master: kullanıcı yönetimi ve çoğu yönetim komutu |
| t | Botnet master: botnet bağlantılarını yönetir |
| o | Global op: botun bulunduğu bütün kanallarda op |
| l | Global halfop |
| v | Global voice |
| f | Friend: flood korumalarından muaf, bazı kısıtlamalardan etkilenmez |
| p | Partyline erişimi |
| j | Janitor: dosya alanı yönetimi |
| x | Dosya transferi yetkisi |
| c | Ortak (common) site kullanıcısı |
| h | Komutlarda vurgulama (görsel tercih) |
| d | Global deop: op alırsa bot alır |
| k | Global auto-kick: botun bulunduğu kanallarda otomatik atılır |
| a | Global auto-op: kanala girişte otomatik op |
| g | Global auto-voice: kanala girişte otomatik voice |
| q | Global quiet: voice alamaz |
| b | Bot: bu kayıt bir bota aittir |
| u | Unshared: botnet paylaşımına dahil edilmez |
Bayrak harfleri ve anlamları Eggdrop sürümüne göre küçük farklılıklar gösterebilir. Kendi botunuzdaki güncel listeyi partyline'da .help whois veya .help chattr komutlarıyla görebilirsiniz.
Kanal Bayrakları
Kanal bayraklarının çoğu global bayraklarla aynı harfleri kullanır ama yalnızca belirtilen kanalda geçerlidir:
| Bayrak | Kanalda anlamı |
|---|---|
| n | Kanal sahibi |
| m | Kanal master'ı |
| o | Kanal op'u |
| l | Kanal halfop'u |
| v | Kanal voice'u |
| f | Kanal arkadaşı |
| a | Kanalda otomatik op |
| g | Kanalda otomatik voice |
| d | Kanalda deop |
| k | Kanalda otomatik kick |
| q | Kanalda voice alamaz |
Kanal sahibi (n) ve master (m) bayrakları, bir kanalı başkasına emanet etmek için kullanışlıdır: Kanal sahibi kendi kanalındaki kullanıcıları yönetebilir ama botun diğer kanallarına ve genel ayarlarına müdahale edemez.
.chattr Komutu
Bayraklar partyline'da .chattr komutuyla verilir ve alınır:
.chattr Ayse +o
.chattr Ayse +o #kanal
.chattr Ayse -o #kanal
.chattr Burak +v|+v #kanal
.chattr Deniz |+ao #kanal
Söz dizimi şöyledir: Dikey çizginin solundaki bayraklar global, sağındakiler kanal bayraklarıdır. Kanal adı verilmeden yalnızca global bayraklar değiştirilir. Örneğin |+ao #kanal ifadesi, kullanıcıya yalnızca #kanal için otomatik op ve op bayrağı verir.
Bir kullanıcının mevcut bayraklarını görmek için:
.match Ayse
.whois Ayse
Kullanıcı Eklemek ve Bayrak Vermek: Örnek Senaryo
Kanalınıza yeni bir op eklemek istediğinizi düşünelim. Kullanıcı kanalda olsun:
.adduser Ayse
.chattr Ayse |+o #kanal
.chattr Ayse |+a #kanal
.adduser, kullanıcının o anki IRC hostunu kullanarak bir kayıt oluşturur. Ardından ona kanal op'u ve otomatik op bayrakları verilir. Kullanıcının partyline'a erişmesini de istiyorsanız global p bayrağı ekleyin ve kullanıcıdan bota /msg Bot pass parola ile kendi parolasını belirlemesini isteyin. Otomatik op konusunun inceliklerini autoop ve voice yazımızda anlattık.
Host Maskeleri Neden Önemli?
Bayraklar ne kadar doğru ayarlanırsa ayarlansın, yanlış bir host maskesi bütün sistemi işe yaramaz hâle getirir. Örneğin bir kullanıcıya *!*@* gibi çok geniş bir maske tanımlarsanız herkes o kullanıcı sayılır ve op alır. Maske dar tutulmalıdır:
- İyi:
*!*@ayse.cloaked.ornekagi.net(gizlenmiş host) - İyi:
*!ayse@*.ornek-isp.net(dinamik IP için kullanıcı adı ile) - Kötü:
*!*@*.net
Ağınız services hesabına göre tanıma destekliyorsa ve botunuz bu özelliği kullanıyorsa hesap tabanlı tanıma, host maskelerinden çok daha güvenilirdir. Maske yazımı için ban maskeleri yazımıza bakın.
Güvenli Yetki Dağıtımı
- n bayrağını sınırlı tutun: Sahip yetkisi
.tclgibi bot üzerinde tam kontrol sağlayan komutlara erişim verir. Yalnızca kendinize ve tamamen güvendiğiniz bir iki kişiye verin. - Global yerine kanal bayrağı: Birine yalnızca bir kanalda yetki vermeniz gerekiyorsa global bayrak yerine kanal bayrağı kullanın.
- p bayrağını ihtiyaca göre verin: Partyline erişimi, botun iç işleyişine dair bilgileri ve bazı komutları açar.
- Parolaları zorunlu tutun: Partyline erişimi olan herkesin parolası olmalıdır.
- Düzenli gözden geçirin: Artık aktif olmayan kullanıcıların bayraklarını kaldırın.
Olumsuz Bayraklar: d, k, q
Bayraklar yalnızca yetki vermek için değil, kısıtlamak için de kullanılır:
- d (deop): Kullanıcı başka bir op tarafından op alırsa bot hemen alır.
- k (kick): Kullanıcı kanala girdiğinde bot onu atar. Ban yerine kalıcı bir kişisel "kara liste" gibi çalışır.
- q (quiet): Kullanıcıya voice verilmez.
Bu bayraklar, ban listesini şişirmeden belirli kişileri yönetmenin pratik bir yoludur. Ban yönetimi için ban yönetimi yazımıza bakın.
Bayraklar ve Tcl Scriptleri
Tcl scriptleri de bayrakları kullanır. Örneğin bir scriptin komutunu yalnızca op'ların kullanabilmesi için bind komutunda bayrak belirtilir; script içinde ise matchattr komutuyla kullanıcının belirli bir bayrağa sahip olup olmadığı kontrol edilir. Ayrıca kendi özel bayraklarınızı da tanımlayabilirsiniz: Eggdrop, büyük harfli bayrakları kullanıcı tanımlı bayraklar olarak serbest bırakır. Böylece "bu kullanıcı bilgi yarışması yöneticisidir" gibi kendi yetki kategorilerinizi oluşturabilirsiniz. Ayrıntılar için Tcl bind komutları yazımıza bakın.
Botnet'te Bayrak Paylaşımı
Birden fazla bot kullanıcı dosyasını paylaşıyorsa bir botta verilen bayrak diğer botlara da yayılır. Bu, yönetimi kolaylaştırır ama hataların da yayılması anlamına gelir. u (unshared) bayrağı, belirli bir kullanıcı kaydının paylaşıma dahil edilmemesini sağlar. Paylaşım konusu için userfile paylaşımı yazımıza bakın.
Sonuç
Eggdrop'un bayrak sistemi ilk bakışta harf çorbası gibi görünse de mantığı basittir: global ve kanal düzeyinde, yetki veren ve kısıtlayan tek harflik etiketler. .chattr ile bayrakları yönetin, host maskelerini dar tutun ve yetkileri ihtiyaç kadar verin. Kanal davranışlarını biçimlendirmek için sıradaki rehberimiz chanset kanal ayarları.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
Global bayrak ile kanal bayrağı arasındaki fark nedir?
Global bayrak botun bulunduğu bütün kanallarda geçerlidir. Kanal bayrağı ise yalnızca belirtilen kanalda geçerlidir.
Bir kullanıcıya op yetkisi vermek için hangi bayrak gerekir?
Kanal op'u için o bayrağı kullanılır. Otomatik op istiyorsanız ek olarak a bayrağı veya kanalda autoop ayarı gerekir.
n bayrağını kimlere vermeliyim?
n (owner) botun sahibi demektir ve en geniş yetkiyi verir. Yalnızca botu sizinle birlikte yöneten, tamamen güvendiğiniz kişilere verilmelidir.


