Search the Community
Showing results for tags 'irc bot'.
-
Salut. Am citit cateva postari pe forum legate de boti IRC si majoritatea erau fie in PHP sau alt limbaj de programare. Nu stiu pe cati dintre voi ii intereseaza mIRC-ul, dar m-am gandit ca unora le-ar fi de folos. Acum 4 luni vroiam un BOT inteligent dar nu am gasit asa ceva... am gasit doar un TCL vechi, Alice - inteligenta artificiala, numai ca acel bot era praf. Eh, tocmai din acest motiv m-am gandit sa fac eu unul simplu si placut. totodata sa stiti ca-l puteti personaliza dupa cum doriti, insa pentru asta trebuie sa aveti cateva cunostinte despre MSL (mirc scripting language). Iata codul: ModFun -> este folder mesajecanal.txt, intrebari_nick.txt, actiune.txt -> sunt fisiere in notepad on *:text:*:#:{ set %bt.rand $rand(1,3) ;;se face un random de la 1 la 3 if ( %bt.rand == 1) { ;; daca randomul are valoarea 1 inc %20 ;; se va incrementa variabila 20 if (%20 == 20) { ;; daca variabila 20 va avea valoarea 20 (numarul de randuri tastate pe chat pe canal) msg # $read(ModFun/mesajecanal.txt) ;; atunci robotul va scrie un mesaj pe canal unset %20 ;; se reseteaza variabila 20 unset %bt.rand ;; se reseteaza randomul } } if ( %bt.rand == 2) { ;; daca randomul a luat valoarea 2 inc %10 ;; se incrementeaa variabila 10 if (%10 == 10) { ;; daca variabila 10 are valoarea 10 (10 randuri tastate) /ame $read(ModFun/actiune.txt) ;; robotul va da un mesaj global pe chat ca sa descrie o actiune unset %10 ;; se va reseta variabila 10 unset %bt.rand ;; se va reseta randomul } } if ( %bt.rand == 3) { ;; daca randomul va lua valoarea 3 set %nume_random $nick(#,$r(1,$nick(#,0))) ;; setam o variabila externa cu un nume aleator de pe chat inc %15 ;; se incrementeaza variabila 15 if (%15 == 15) ;; daca variabila 15 are valoare 15 (15 randuri tastate pe chat) if (%nume_random == $nick(#,$r(1,$nick(#,0)))) { ;; daca variabila are numele aleator ales mai devreme /ame $nick(#,$r(1,$nick(#,0))) $read(ModFun/intrebari_nick.txt) ;; robotul va da un mesaj pentru acel nick ales mai sus aleator unset %15 ;; se reseteaza variabila unset %bt.rand ;; se reseteaza randomul } } } Care este ideea acelor randomuri? Practic, fiecare random determina modalitatea de raspuns a robotului pe un canal astfel: a) la random 1 - robotul va avea un mod de a scrie pe chat la random 2 - robotul va scrie mesaj global pe toate canalele pe care se afla c) la random 3 - robotul va alege la intamplare un nickname d epe chat caruia ii va scrie un mesaj Mesajele le puteti scrie voi in fisierele txt. Robotul il puteti personaliza si imbunatatii astfel: - dupa ce s-a facut evenimentul "on *:text:*:#:{" (cand cineva scrie ceva pe chat, textul sau sa fie scris automat intr-un fisier .txt), asa cum este codul de mai jos: on *:text:*:#:{ write -n ModFun/ $+ $nick } Adica, atunci cand cineva scrie pe chat ceva, robotul automat inregistreaza acea propozitie intr-un fisier numit precum numele nickname-ului. Dupa asta, unde scrie: "msg # $read(ModFun/mesajecanal.txt)" se poate modifica in: msg # $read(ModFun/ $+ $nick ) Adica, in loc sa scrie un mesaj prescris de tine in fisierul mesaje.txt, el va scrie pe canal exact ce a scris un utilizator in urma cu "n" timp. ------------------------------------ Sunt multe posibilitati de a modifica acest robot, insa eu unul l-am perfectionat asa de mult incat pe chat lumea se cearta cu "ea" si nu isi dau seama ce este defapt. Credeti-ma ca m-am amuzat copios. Bafta, si sper ca unora o sa le fie de folos.