![]() |
|
|
|
#1 |
|
Nick kopyalandı!
|
1. Girişte Whois ve IP Sorgusu
on *:JOIN:#: { if ($nick != $me) { ; Eğer daha önce karşılanmadıysa if (!$hget(giris_karsilama, $nick)) { set %geo.nick $nick .whois $nick } } } raw 311:*: { set %geo.host $4 hadd giris_karsilama %geo.nick $ctime ; Gizli host kontrolü if (%geo.host isin *.users.* || %geo.host isin *.cloak* || %geo.host isin *.unknown*) { msg # $+ %geo.nick Hostun gizli, konum tespiti yapılamadı. } else { ; API’ye bağlan sockclose geoip sockopen geoip ip-api.com 80 } } 2. IP-API Sorgusu Gönder on *:sockopen:geoip: { if ($sockerr > 0) return sockwrite -n geoip GET /json/%geo.host HTTP/1.1 sockwrite -n geoip Host: ip-api.com sockwrite -n geoip $crlf } 3. Yanıtı Oku ve Karşılama Yap on *:sockread:geoip: { var %data sockread %data if (%data iswm *country*) { var %ulke = $json(%data, country) var %sehir = $json(%data, city) ; Sadece Türkiye için özel mesaj if (%ulke == Turkey) { msg # 04[TR] $+ %geo.nick adlı kullanıcı $upper(%sehir) şehrinden katıldı. Hoş geldin! } else { msg # 12[Yabancı] $+ %geo.nick adlı kullanıcı $upper(%ulke) üzerinden bağlandı. } } } 4. JSON Ayıklama Alias alias json { var %x = $1- var %key = $2 return $gettok($gettok(%x, $calc($findtok(%x,%key,1,34) + 1), 34),1,34) } 5. Hash Tabloları Başlat (Bot başlarken) on *:START: { if (!$hget(giris_karsilama)) { hmake giris_karsilama 100 } } Örnek Çıktılar: [TR] Ahmet adlı kullanıcı ANKARA şehrinden katıldı. Hoş geldin! [Yabancı] Alex adlı kullanıcı Germany üzerinden bağlandı. User123 Hostun gizli, konum tespiti yapılamadı. |
|
|
Alıntı Yap |
| Şu anda bu konuyu görüntüleyen etkin kullanıcılar: 1 (0 üye ve 1 ziyaretçi) | |
|
|