Nëse keni qenë në Internet Relay Chat (IRC), ka shumë të ngjarë që keni hasur një bot në një moment. Botët janë programe ose skripte të pavarura që lidhen me një rrjet në të njëjtën mënyrë si një njeri. Ato mund të programohen për t'iu përgjigjur komandave të përdoruesve apo edhe bisedave. Në këtë udhëzues, mund të gjeni se cilat janë opsionet tuaja për të ndërtuar një bot IRC, si dhe si ta krijoni atë nga e para.
Hapa
Metoda 1 nga 2: Vlerësimi i opsioneve
Hapi 1. Merrni parasysh instalimin e një skripti klienti
Ndonjëherë ju thjesht dëshironi që të kryhet një detyrë e thjeshtë dhe nuk doni që të jetë një program i pavarur. Në atë rast, mund t'i bashkëngjitni një skript një klienti IRC. Kjo është mjaft e zakonshme të bëhet me mIRC, e cila ka një motor të fuqishëm skriptimi dhe një larmi të madhe skriptesh të disponueshme. Ky është opsioni më i lehtë dhe rekomandohet shumë nëse nuk keni shumë ose ndonjë përvojë programimi. Për pjesën tjetër të këtij udhëzuesi, udhëzimet kërkojnë njohuri të caktuara të programimit kompjuterik.
Hapi 2. Konsideroni një bazë kodesh para-ekzistuese për botin tuaj
Ekzistojnë shumë programe me burim të hapur dhe falas që mund t'ju ndihmojnë të krijoni shpejt botin tuaj të personalizuar. Një shembull i tillë është Eggdrop, boti më i vjetër IRC që ende mirëmbahet.
Hapi 3. Merrni parasysh të shkruani botin tuaj
Për përdoruesit dhe zhvilluesit e përparuar të IRC që tashmë e dinë rrugën e tyre rreth një gjuhe programimi, ky është një opsion i shkëlqyeshëm. Ju mund të përdorni pothuajse çdo gjuhë që dëshironi për sa kohë që ka mbështetje fole, por ato të njohura për t'u përdorur përfshijnë Python, Lua, PHP, C dhe Perl. Nëse nuk dini asnjë nga këto por dini një gjuhë tjetër, ky nuk është problem. Zakonisht mund të gjeni shembuj në internet në çdo gjuhë që dëshironi. Për këtë artikull, ne do të demonstrojmë përdorimin e PHP. Për të përdorur PHP, do t'ju duhet të keni të instaluar PHP-CLI në kompjuterin ose serverin tuaj.
- PHP mund të shkarkohet nga php.net
- Skriptet PHP mund të ekzekutohen nga rreshti i komandës. Për informacion shtesë dhe ndihmë në përdorimin e PHP, shihni këtë faqe manuale të PHP.
Metoda 2 nga 2: Zhvillimi i Botit tuaj
Hapi 1. Mblidhni detajet e lidhjes
Ju do të duhet të merrni informacionin e mëposhtëm në mënyrë që të lidheni me sukses në rrjet.
-
Serveri: Emri i domain -it të serverit të përdorur për t'u lidhur me IRC, si p.sh
chat.freenode.net
- Porti: Në shumicën e rasteve, kjo është 6667, por nëse nuk jeni të sigurt, kontrolloni klientin tuaj IRC ose faqen e internetit të rrjetit.
- Nofka: Nofka që bota juaj duhet të përdorë. Mbani në mend disa karaktere të veçanta zakonisht nuk lejohen (@#! ~).
-
Identifikuar: Fusha identike shfaqet pas pseudonimit kur dikush kryen një WHOIS si kjo:
pseudonimi! ident@hostname
- GECOS: Kjo fushë zakonisht mban emrin e vërtetë të një përdoruesi ose një përshkrim të përgjithshëm të bot, por mund të vendosni gjithçka që dëshironi atje.
- Kanali: Zakonisht dëshironi që boti juaj të jetë i pranishëm në një ose më shumë kanale. Në shumicën e rrjeteve, këto janë parashtesa me '#', por mund të jetë diçka tjetër.
Hapi 2. Filloni konfigurimin në skriptin tuaj
Mënyra më themelore për ta bërë këtë është duke emëruar disa ndryshore sipas emrave të konfigurimit të mësipërm. Ju gjithashtu mund t'i ruani ato në një skedar konfigurimi dhe t'i analizoni ato, por tani për tani ne thjesht do t'i përmbahemi nevojave absolute.
Hapi 3. Lidhu me rrjetin
Për ta bërë këtë, do t'ju duhet të hapni një prizë në server në portin e specifikuar. Ju gjithashtu duhet të shtoni një kod të trajtimit të gabimeve në këtë pjesë në rast se lidhja dështon për çfarëdo arsye. Në këtë rast, PHP na siguron disa funksione të pastra për të trajtuar gabimin në mënyrë efektive.
Hapi 4. Regjistroni botin tuaj
Kjo do të thotë të jepni pseudonimin tuaj, identitetin dhe GECOS në server, duke mos u regjistruar me NickServ. Për ta bërë këtë, thjesht shkruani komandat NICK dhe USER në server, e ndjekur nga një kthim i karrocës dhe një linjë e re. Imshtë e domosdoshme që ta bëni saktësisht siç tregohet, sepse kështu është specifikuar në RFC1459, specifikimi për protokollin IRC.
Vini re se dy parametrat e mesëm (në këtë rast, * dhe 8) duhet të specifikohen, por ato injorohen nga serveri. Ato të dyja përdoren vetëm midis serverëve të lidhur, jo nga një klient që lidhet drejtpërdrejt
Hapi 5. Vazhdoni të merrni të dhëna nga priza duke përdorur një lak
Nëse nuk përdorni një lak, skripti juaj do të përfundojë menjëherë dhe boti në thelb do të ishte i padobishëm. Në mënyrë që të qëndroni të lidhur, duhet të merrni të dhëna nga serveri, të kontrolloni për çdo hyrje në rrjedhën që dëshironi dhe t'i përgjigjeni nëse është kështu. Këtu, ne po kapim të dhëna duke përdorur socket_read () për të rrëmbyer çdo të dhënë të disponueshme për ne. Nëse ka, ne vazhdojmë të bëjmë gjithçka që është në lak. Mund të jetë e dobishme që gjithashtu të jepni të dhënat e papërpunuara në tastierë, në mënyrë që të shihni se çfarë po ndodh nga perspektiva e botit.
Hapi 6. Shkruani një mbajtës ping
Kjo eshte e rendesishme. Nëse nuk i përgjigjeni ping -ut në kohën e duhur, serveri do t'ju shkëpusë. Le të kujdesemi për këtë së pari. Pings duken kështu kur dërgohen nga serveri:
PING: rajaniemi.freenode.net
Me Serveri nuk ka pse të vendosë emrin e tij pas ':', ai mund të furnizojë çfarë të dojë. Ju * duhet * të përsërisni saktësisht atë që tha serveri, përveç përdorimit të PONG.
Hapi 7. Bashkohuni me kanalet tuaja
Mirë, kështu që ne kemi një bot që lidhet me rrjetin dhe i përgjigjet ping -ut, por përndryshe nuk bën asgjë. Që njerëzit të shohin dhe përdorin botin tuaj, ai duhet të jetë në një kanal (përndryshe ju duhet ta thoni që t'i përgjigjet mesazheve private).
- Për ta bërë këtë, ne do të kontrollojmë kodet e statusit të serverit 376 ose 422. 376 do të thotë që MOTD (mesazhi i ditës) ka përfunduar. 422 do të thotë se nuk kishte asnjë MOTD për të dërguar. Ajo MOTD është vetëm diçka që serveri dërgon kur lidheni, por është një tregues i mirë kur mund të fillojmë të bashkohemi me kanalet.
- Ju do të duhet të lëshoni një komandë JOIN. Ky komandë mund të ndiqet nga një ose më shumë kanale të ndara me presje.
- Vini re se të dhënat që serveri dërgon janë kufizuar në mënyrë të përshtatshme nga hapësirat. Në këtë mënyrë ne mund t'i ndajmë të dhënat dhe t'i referojmë ato duke përdorur një indeks të grupit.
Hapi 8. Përgjigjuni mesazheve të kanalit
Tani për pjesën argëtuese. Bot -i juaj u bashkua me kanalin, kështu që tani mund ta përdorni për atë që dëshironi. Le të krijojmë një komandë shembull të quajtur @moo.
- Vini re kompensimin ku fillojnë mesazhet (kjo vlen si për kanalet ashtu edhe për mesazhet private). Alwaysshtë gjithmonë në të njëjtin vend.
- Ju mund të trajtoni komandat me hapësira në to duke bashkuar të dhënat e copëzuara përsëri ($ d). Kjo është jashtë fushëveprimit të këtij artikulli.
- Nëse objektivi është një kanal (siç është #botters-test), atëherë i përgjigjeni atij. Nëse është një mesazh privat, ky bit do të jetë pseudonimi i botit tuaj! Atëherë duhet të përgjigjeni duke përdorur pseudonimin e dërguesit, jo tuajin (përndryshe do të flisnit me veten, dhe kjo është thjesht marrëzi).
Hapi 9. Zgjeroni botin tuaj
Ju mund të shtoni shumë veçori të reja duke përdorur zbatimin e mësipërm. Ka shumë komanda të tjera që mund t'i lëshohen rrjetit IRC, të tilla si menaxhimi i opsioneve, goditja dhe ndalimi, vendosja e temës, ndër shumë veçori të tjera.
Këshilla
-
Ju mund të prodhoni rezultatin e komandës "/me" duke parashtruar mesazhet tuaja si kjo:
- PRIVMSG #channel: / 001ACTION teksti këtu / 001.
-
001 nënkupton karakterin 1 të ASCII dhe do të interpretohet si i tillë në një varg PHP të cituar dyfish. Përndryshe, mund të përdorni
kr (1)
- jashtë vargut.
- Ngjyrat mund të prodhohen në një mesazh duke prefiksuar "\ 003" (kodi ASCII 3) e ndjekur nga një numër për një ngjyrë. 0 = e bardhë, 1 = e zezë, 2 = blu, 3 = jeshile, 4 = e kuqe […]. Shikoni faqen e MIRC për më shumë ngjyra.
- Si çështje mirësjelljeje, merrni pëlqimin e pronarëve të kanaleve dhe operatorëve IRC para se të sillni botin tuaj në internet. Jo të gjitha rrjetet dhe kanalet kanë një politikë të mirëpritur ndaj botëve, madje edhe atyre me sjellje të mirë.
- Disa demonë IRC shkojnë përtej specifikimeve të protokollit dhe zbatojnë veçori të tjera. Nëse jeni duke e përgatitur atë për një rrjet specifik, sigurisht që mund t'i përdorni ato veçori nëse dini për protokollin e tyre. Nëse dëshironi që boti juaj të vendoset në disa rrjete, megjithatë, përpiquni ta mbani atë në atë që është në RFC.