![]() |
| mIRC Scripting Hazır Kodlar mIRC Scriptinglerinizde kullanabileceğiniz hazır kodlara bu başlık altından ulaşabilirsiniz. |
| | Seçenekler | Stil |
| | #1 |
| ┌──────────────────────────────────────────── ─┐ │ NoMercy Bot - Şifreli Kişisel Not/Günlük │ │ Sistemi [mIRC Script] │ └──────────────────────────────────────────── ─┘ Selamlar, NoMercy tabanlı botlarınız için geliştirdiğim, kullanıcıların kendilerine özel, şifreli not/günlük bırakabildiği ve sunucuya her girişlerinde bundan haberdar edildiği bir sistemi paylaşıyorum. ▌ ÖZELLİKLER ✔ Notlar $encrypt() ile şifrelenip .ini dosyasında saklanır ✔ İçerik ASLA listede gösterilmez — sadece ID, tarih ve kelime sayısı görünür, gizlilik tam korunur ✔ Kalıcı ID sistemi — silme/düzenleme sırasında numaralar kaymaz ✔ Günlük not limiti + bekleyen not limiti (spam/şişme önler) ✔ Komut flood/tekrar koruması (art arda yazamama) ✔ 30 günden eski notlar otomatik temizlenir (ayarlanabilir) ✔ @onemli etiketiyle öncelikli not işaretleme ✔ Not düzenleme (!notduzenle) ✔ Toplu okuma/silme (hepsi) ✔ İçerik içi kelime arama (!notara) ✔ Sunucuya girince NOTICE ile bildirim — aynı kişiye spam bildirim gitmesin diye bekleme süresi var ✔ Kişi SADECE kendine not bırakabilir, başkasına yazamaz ▌ KOMUTLAR !not [@onemli] <mesaj> → not ekler !notlarim → ID'li liste (içerik gizli) !notoku <id|hepsi> → notu okur (özelden) !notsil <id|hepsi> → notu siler !notduzenle <id> <mesaj> → notu günceller !notara <kelime> → notlarında arama yapar ▌ KURULUM 1) Kodu yeni bir .mrc dosyasına kaydedin 2) Alt+R (Script Editor) > File > Load ile yükleyin 3) notanahtar alias'ındaki şifreyi MUTLAKA değiştirin 4) İsterseniz limitleri (günlük not, karakter, süre) en üstteki alias'lardan ayarlayın ▌ NOT Tüm işlemler özelden (query) ve NOTICE ile yürür, kanala hiçbir içerik sızmaz. Kod tamamen açık kaynak, dilediğiniz gibi düzenleyebilirsiniz. Kodu aşağıya bırakıyorum, iyi forumlar! ; HTML-Kodu================================================ ; NoMercy Bot - Kisisel Sifreli Not/Gunluk Sistemi (Tam Surum) ; !not [@onemli] <mesaj> -> not ekler (etiket opsiyonel) ; !notlarim -> ID'li liste (icerik gizli) ; !notoku <id|hepsi> -> notu/notlari ozelden gosterir ; !notsil <id|hepsi> -> notu/notlari siler ; !notduzenle <id> <mesaj> -> var olan notu gunceller ; !notara <kelime> -> notlar icinde arama yapar ; ================================================ alias notdosya { return $+($scriptdir,notlar.ini) } alias notanahtar { return DEGISTIR_BU_GIZLI_ANAHTARI_2026 } alias notbekleme { return 10 } ; komut spam korumasi (saniye) alias notgunluklimit { return 15 } ; gunluk max not sayisi alias nottoplamlimit { return 100 } ; bekleyen max not sayisi alias notmaxkarakter { return 500 } ; tek not icin max karakter alias notsuresi { return 30 } ; gun - bu sureden eski notlar otomatik silinir alias notbildirimbekleme { return 3600 } ; ayni kisiye tekrar NOTIFY bildirimi icin bekleme (saniye) ; --- ID uretici: kullanicinin bir sonraki notu icin kalici artan numara --- alias notyeniid { var %kullanici = $1 var %mevcut = $readini($notdosya,n,IDSAYAC,%kullanici) if (%mevcut == $null) { var %mevcut = 0 } var %yeni = $calc(%mevcut + 1) writeini $notdosya IDSAYAC %kullanici %yeni return %yeni } on *:START: { if ($hget(notflood)) { hfree notflood } if ($hget(notsayac)) { hfree notsayac } if ($hget(notbildirim)) { hfree notbildirim } hmake notflood 100 hmake notsayac 100 hmake notbildirim 100 ; notify listesine bekleyen notu olanlari ekle (IDSAYAC bolumunu atla) var %i = 1 while ($ini($notdosya,%i)) { var %hedef = $ini($notdosya,%i) if (%hedef != IDSAYAC) { if ($notify(%hedef) == 0) { notify +%hedef } } inc %i } ; eski notlari periyodik temizleyen zamanlayici (her 6 saatte bir) if ($timer(nottemizle)) { .timernottemizle off } .timernottemizle 0 21600 nottemizlik } ; --- Eski notlari otomatik temizleme --- alias nottemizlik { var %i = 1 while ($ini($notdosya,%i)) { var %kullanici = $ini($notdosya,%i) if (%kullanici != IDSAYAC) { var %j = 1, %adet = $ini($notdosya,%kullanici,0) while (%j <= %adet) { var %anahtar = $ini($notdosya,%kullanici,%j) var %veri = $readini($notdosya,n,%kullanici,%anahtar) var %zaman = $gettok(%veri,1,1) if ($calc($ctime - %zaman) > $calc($notsuresi * 86400)) { remini $notdosya %kullanici %anahtar } else { inc %j } } if (!$ini($notdosya,%kullanici)) { notify -%kullanici } } inc %i } } ; --- !not [@onemli] <mesaj> --- on *:TEXT:/^!not\s+(.+)$/i:?:{ var %kullanici = $lower($nick) var %mesaj = $regml(1) var %oncelik = 0 if ($regex(%mesaj,/^@onemli\s+(.+)$/i)) { var %mesaj = $regml(1) var %oncelik = 1 } if ($len(%mesaj) > $notmaxkarakter) { notice $nick Not cok uzun! Maksimum $notmaxkarakter karakter girebilirsiniz. ( $+ $len(%mesaj) $+ girdiniz ) halt } if ($hget(notflood,%kullanici)) { var %kalan = $calc($hget(notflood,%kullanici) - $ctime) if (%kalan > 0) { notice $nick Lutfen bekleyin, tekrar not eklemek icin %kalan saniye sonra deneyin. halt } } var %veri = $hget(notsayac,%kullanici) var %sayac = $iif(%veri,$gettok(%veri,1,32),0) var %sifirlanma = $iif(%veri,$gettok(%veri,2,32),0) if ($ctime > %sifirlanma) { var %sayac = 0 var %sifirlanma = $calc($ctime + 86400) } if (%sayac >= $notgunluklimit) { notice $nick Gunluk not limitine ulastiniz ( $notgunluklimit $+ /gun ). Sifirlanmasina kalan sure: $duration($calc(%sifirlanma - $ctime)) halt } var %bekleyen = $iif($ini($notdosya,%kullanici),$ini($notdosya,%kullanici,0),0) if (%bekleyen >= $nottoplamlimit) { notice $nick Bekleyen notlariniz doldu ( $nottoplamlimit $+ adet ). Once eskilerini !notsil ile silin. halt } hadd notflood %kullanici $calc($ctime + $notbekleme) hadd notsayac %kullanici $+($calc(%sayac + 1),$chr(32),%sifirlanma) var %id = $notyeniid(%kullanici) var %ayrac = $chr(1) var %sifreli = $encrypt(%mesaj,1,$notanahtar) var %hash = $md5(%mesaj) var %kelime = $numtok(%mesaj,32) writeini $notdosya %kullanici $+(id,%id) $+($ctime,%ayrac,%sifreli,%ayrac,%hash,%ayrac,%kelime,%ayrac,%oncelik,%ayrac,0) if ($notify(%kullanici) == 0) { notify +%kullanici } notice $nick Not #%id kaydedildi ve sifrelendi. $iif(%oncelik,[ONEMLI] ,) $+ ( $calc(%sayac + 1) $+ / $+ $notgunluklimit $+ bugun ) halt } ; --- !notlarim : ID'li liste, icerik gizli --- on *:TEXT:!notlarim:?:{ var %kullanici = $lower($nick) if (!$ini($notdosya,%kullanici)) { notice $nick Kayitli bir notunuz bulunmuyor. halt } var %ayrac = $chr(1) var %i = 1, %adet = $ini($notdosya,%kullanici,0) notice $nick --- Notlariniz ( %adet $+ adet ) --- while (%i <= %adet) { var %anahtar = $ini($notdosya,%kullanici,%i) var %veri = $readini($notdosya,n,%kullanici,%anahtar) var %zaman = $gettok(%veri,1,%ayrac) var %kelime = $gettok(%veri,4,%ayrac) var %oncelik = $gettok(%veri,5,%ayrac) var %duzenlendi = $gettok(%veri,6,%ayrac) var %numara = $remove(%anahtar,id) notice $nick $+(#,%numara) $+ $chr(32) $+ $asctime(%zaman,dd.mm.yyyy HH:nn) $+ $chr(32) $+ ( %kelime $+ kelime ) $+ $iif(%oncelik,$chr(32) $+ [ONEMLI],) $+ $iif(%duzenlendi != 0,$chr(32) $+ [duzenlendi],) inc %i } notice $nick Oku: !notoku <id|hepsi> Sil: !notsil <id|hepsi> Duzenle: !notduzenle <id> <mesaj> halt } ; --- !notoku <id|hepsi> --- on *:TEXT:/^!notoku\s+(id)?(\d+|hepsi)$/i:?:{ var %kullanici = $lower($nick) var %hedef = $regml(2) var %ayrac = $chr(1) if (!$ini($notdosya,%kullanici)) { notice $nick Kayitli bir notunuz bulunmuyor. halt } if ($lower(%hedef) == hepsi) { var %i = 1, %adet = $ini($notdosya,%kullanici,0) while (%i <= %adet) { var %anahtar = $ini($notdosya,%kullanici,%i) var %veri = $readini($notdosya,n,%kullanici,%anahtar) var %zaman = $gettok(%veri,1,%ayrac) var %mesaj = $decrypt($gettok(%veri,2,%ayrac),1,$notanahtar) var %numara = $remove(%anahtar,id) notice $nick $+(#,%numara) $+ $chr(32) $+ $asctime(%zaman,dd.mm.yyyy HH:nn) $+ : %mesaj inc %i } halt } var %anahtar = $+(id,%hedef) var %veri = $readini($notdosya,n,%kullanici,%anahtar) if (%veri == $null) { notice $nick %hedef numarali not bulunamadi. halt } var %zaman = $gettok(%veri,1,%ayrac) var %mesaj = $decrypt($gettok(%veri,2,%ayrac),1,$notanahtar) notice $nick $+(#,%hedef) $+ $chr(32) $+ $asctime(%zaman,dd.mm.yyyy HH:nn) $+ : %mesaj halt } ; --- !notsil <id|hepsi> --- on *:TEXT:/^!notsil\s+(id)?(\d+|hepsi)$/i:?:{ var %kullanici = $lower($nick) var %hedef = $regml(2) if (!$ini($notdosya,%kullanici)) { notice $nick Kayitli bir notunuz bulunmuyor. halt } if ($lower(%hedef) == hepsi) { var %adet = $ini($notdosya,%kullanici,0) remini $notdosya %kullanici notice $nick Tum notlariniz silindi. ( %adet $+ adet ) notify -%kullanici halt } var %anahtar = $+(id,%hedef) if ($readini($notdosya,n,%kullanici,%anahtar) == $null) { notice $nick %hedef numarali not bulunamadi. halt } remini $notdosya %kullanici %anahtar notice $nick $+(#,%hedef) numarali not silindi. if (!$ini($notdosya,%kullanici)) { notify -%kullanici } halt } ; --- !notduzenle <id> <yeni mesaj> --- on *:TEXT:/^!notduzenle\s+(id)?(\d+)\s+(.+)$/i:?:{ var %kullanici = $lower($nick) var %hedef = $regml(2) var %yenimesaj = $regml(3) var %ayrac = $chr(1) if ($len(%yenimesaj) > $notmaxkarakter) { notice $nick Not cok uzun! Maksimum $notmaxkarakter karakter girebilirsiniz. halt } var %anahtar = $+(id,%hedef) var %veri = $readini($notdosya,n,%kullanici,%anahtar) if (%veri == $null) { notice $nick %hedef numarali not bulunamadi. halt } var %zaman = $gettok(%veri,1,%ayrac) var %oncelik = $gettok(%veri,5,%ayrac) var %sifreli = $encrypt(%yenimesaj,1,$notanahtar) var %hash = $md5(%yenimesaj) var %kelime = $numtok(%yenimesaj,32) writeini $notdosya %kullanici %anahtar $+(%zaman,%ayrac,%sifreli,%ayrac,%hash,%ayrac,%kelime,%ayrac,%oncelik,%ayrac,$ctime) notice $nick $+(#,%hedef) numarali not guncellendi. halt } ; --- !notara <kelime> --- on *:TEXT:/^!notara\s+(.+)$/i:?:{ var %kullanici = $lower($nick) var %aranan = $regml(1) var %ayrac = $chr(1) if (!$ini($notdosya,%kullanici)) { notice $nick Kayitli bir notunuz bulunmuyor. halt } var %i = 1, %adet = $ini($notdosya,%kullanici,0), %bulunan = 0 while (%i <= %adet) { var %anahtar = $ini($notdosya,%kullanici,%i) var %veri = $readini($notdosya,n,%kullanici,%anahtar) var %mesaj = $decrypt($gettok(%veri,2,%ayrac),1,$notanahtar) if ($instok(%mesaj,%aranan,0,32) || $pos(%mesaj,%aranan,1)) { var %numara = $remove(%anahtar,id) var %zaman = $gettok(%veri,1,%ayrac) notice $nick $+(#,%numara) $+ $chr(32) $+ $asctime(%zaman,dd.mm.yyyy HH:nn) $+ : %mesaj inc %bulunan } inc %i } if (%bulunan == 0) { notice $nick "%aranan" icin sonuc bulunamadi. } else { notice $nick %bulunan sonuc bulundu. } halt } ; --- Sunucuya girince bildirim (spam korumali) --- on *:NOTIFY: { var %kullanici = $lower($nick) if ($ini($notdosya,%kullanici)) { if ($hget(notbildirim,%kullanici)) { if ($ctime < $hget(notbildirim,%kullanici)) { halt } } hadd notbildirim %kullanici $calc($ctime + $notbildirimbekleme) var %adet = $ini($notdosya,%kullanici,0) notice $nick Notunuz var! ( %adet adet ) Gormek icin: !notlarim yaz. } }
________________ "Sevilmenin kıymeti bilinmiyorsa, Uzaklaşmak En güzeli ki üzülen sen olmayasın" | |
| |
| | #2 |
|
Emeğinize sağlık.
👍 1
________________ 🍒 𝑯𝒆𝒓 𝒉𝒊𝒌𝒂𝒚𝒆𝒏𝒊𝒏 𝒊𝒌𝒊 𝒕𝒂𝒓𝒂𝒇𝒊 𝒗𝒂𝒓𝒅𝒊𝒓. : ( : | |
| |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |