mIRC Kanalda İrcrehberine post atma Kod:
; Kullanım: /forumpost [Oyun_Konu_ID] [Gönderilecek_Mesaj]
; Örnek: /forumpost 1920516 Harika bir oyun!
alias forumpost {
if (!$2) { echo -a * Hata: Eksik parametre! Kullanım: /forumpost [Konu_ID] [Mesaj] | return }
var %konuid = $1
var %mesaj = $2-
; --- KULLANICI AYARLARI ---
; Forumdaki hesabınızın geçerli oturum çerezini (Cookie) tarayıcınızdan alıp buraya yapıştırmalısınız.
; Giriş korumalarını aşmanın en güvenli yolu çerez (session) kullanmaktır.
var %cookie = bb_sessionhash=SİZİN_SESSION_KODUNUZ; bb_userid=SİZİN_USER_IDNİZ;
; Forumun altyapısına göre değişen güvenlik token'ı (Genelde HTML kaynak kodunda "securitytoken" olarak geçer)
var %token = SİZİN_SECURITY_TOKEN_KODUNUZ
; --------------------------
echo -a * [IRCRehberi] Konu ID: %konuid adresine mesaj gönderiliyor...
; HTTP Bağlantı Nesnesini Aç
.comopen forumreq Msxml2.ServerXMLHTTP.6.0
if ($comerr) { echo -a * Hata: COM nesnesi başlatılamadı. | return }
; vBulletin / XenForo için standart hızlı cevap (reply) adresi
var %url = https://ircrehberi.net $+ %konuid
; POST verisini hazırlıyoruz (Forum form parametreleri)
; Sitenin form yapısına göre "message", "securitytoken" ve "do" parametreleri gönderilir.
var %postdata = do=postreply&securitytoken= $+ %token $+ &t= $+ %konuid $+ &message= $+ $urlencode(%mesaj)
; HTTP İstek Ayarları
var %open = $com(forumreq, open, 1, bstr, POST, bstr, %url, bool, $false)
var %hdr1 = $com(forumreq, setRequestHeader, 1, bstr, User-Agent, bstr, Mozilla/5.0 (Windows NT 10.0; Win64; x64))
var %hdr2 = $com(forumreq, setRequestHeader, 1, bstr, Content-Type, bstr, application/x-www-form-urlencoded)
var %hdr3 = $com(forumreq, setRequestHeader, 1, bstr, Cookie, bstr, %cookie)
; İsteği Gönder
var %send = $com(forumreq, send, 1, bstr, %postdata)
; Durumu Kontrol Et
var %status = $com(forumreq, status, 2).result
if (%status == 200 || %status == 302) {
echo -a * [Başarılı] Mesajınız forum oyununa başarıyla iletildi! (HTTP: %status)
}
else {
echo -a * [Hata] Mesaj gönderilemedi. Sunucu yanıt kodu: %status
}
.comclose forumreq
}
; Türkçe karakterlerin web uyumlu (URL Encode) formata çevrilmesi için yardımcı fonksiyon
alias -l urlencode {
var %t = $1-, %r, %i = 1, %c
while (%i <= $len(%t)) {
%c = $asc($mid(%t,%i,1))
if (%c == 32) { %r = %r $+ + }
elseif (%c >= 48 && %c <= 57) || (%c >= 65 && %c <= 90) || (%c >= 97 && %c <= 122) { %r = %r $+ $mid(%t,%i,1) }
else { %r = %r $+ % $+ $base(%c,10,16,2) }
inc %i
}
return %r
} Kodun Çalışması İçin Yapılması Gerekenler (Önemli)Oturum Bilgileri (Cookie): Koddaki %cookie kısmına kendi tarayıcınızdan (Chrome/Edge üzerinden F12 -> Uygulama/Application -> Cookies kısmından) aldığınız ircrehberi.net oturum çerezlerini eklemelisiniz. Giriş yapmadan dışarıdan gönderilen bot istekleri forum tarafından doğrudan reddedilir.Güvenlik Anahtarı (Security Token): Forumda herhangi bir konunun kaynak kodunu incelediğinizde (sağ tık -> Sayfa kaynağını görüntüle) görebileceğiniz securitytoken değerini koddaki %token alanına yazmalısınız.Konu ID'si: Mesaj göndermek istediğiniz forum oyununun URL'sindeki numara Konu ID'sidir. Örneğin [Üye Olmadan Linkleri Göremezsiniz. Lütfen Üye Olmak için TIKLAYIN...] linkindeki oyun için ID 1920516'dır.Komutun IRC Kanalına Bağlanması (Opsiyonel)Eğer mIRC'te bulunduğunuz bir kanalda !oyun [mesaj] yazıldığında bu kodun otomatik tetiklenmesini isterseniz, scriptin altına şu satırları da ekleyebilirsiniz: Kod:
on *:TEXT:!oyun *:#: {
; Belirttiğiniz sabit bir oyun konusuna (Örn: 1920516 ID'li oyun) kanaldan yazılan mesajı gönderir
/forumpost 1920516 $2-
msg # [Forum] " $+ $2- $+ " mesajı otomatik olarak oyun konusuna gönderildi.
} Not: Forumların spam koruma politikaları (ardışık mesaj sınırı, flood engelleri vb.) gereği bu tarz bot komutlarını çok kısa aralıklarla (örneğin saniyede bir) çalıştırmamanız, hesabınızın forumdan uzaklaştırılmaması adına önemlidir |