![]() |
|
|
|
#1 |
|
Nick kopyalandı!
|
1. Adım: GEOIP API Kullanımı (dış istek için soket)
on *:JOIN:#: { if ($nick != $me) { ; IP veya host üzerinden bilgi almak için bir soket isteği gönderiyoruz .whois $nick } } raw 311:*: { ; $2 = nick, $3 = kullanıcı adı, $4 = host set %geoip.nick $2 set %geoip.host $4 ; ip-api.com üzerinden veri çek (soket başlat) sockclose geoip sockopen geoip ip-api.com 80 } 2. Adım: Soket ile API’ye İstek Gönder on *:sockopen:geoip: { if ($sockerr > 0) return sockwrite -n geoip GET /json/%geoip.host HTTP/1.1 sockwrite -n geoip Host: ip-api.com sockwrite -n geoip $crlf } 3. Adım: API Yanıtını Oku ve Ülke & Şehir Bilgisi Yazdır on *:sockread:geoip: { var %data sockread %data if (%data != $null) { if (%data iswm *country*) { var %ulke = $json(%data, country) var %sehir = $json(%data, city) ; Kullanıcıya özel mesaj gönder msg %geoip.nick Hoş geldin! IP lokasyonuna göre bulunduğun yer: %sehir, %ulke } } } 4. Adım: JSON Verisini Ayıklamak İçin Küçük Yardımcı Alias alias json { var %data = $1- var %field = $2 return $gettok($gettok(%data, $calc($findtok(%data,%field,1,34) + 1), 34),1,34) } Bu sistem ip-api.com üzerinden sorgu yapar (günde 45 sorgu limiti ücretsizdir). IP bilgileri, kullanıcı host'undan alınır. Kullanıcıların IP'si cloaked (gizli) ise şehir bilgisi alınamayabilir. Dilersen yanıtları sadece op olanlara göster, ya da log dosyasına yazdır gibi özellikler de eklenebilir. |
|
|
Alıntı Yap |
| Şu anda bu konuyu görüntüleyen etkin kullanıcılar: 1 (0 üye ve 1 ziyaretçi) | |
|
|