IRC bot fejlesztése: 12 lépés (képekkel)

Tartalomjegyzék:

IRC bot fejlesztése: 12 lépés (képekkel)
IRC bot fejlesztése: 12 lépés (képekkel)

Videó: IRC bot fejlesztése: 12 lépés (képekkel)

Videó: IRC bot fejlesztése: 12 lépés (képekkel)
Videó: Horizon: Forbidden West (The Movie) 2024, Április
Anonim

Ha már használta az Internet Relay Chat (IRC) szolgáltatást, akkor valószínű, hogy botot talált. A robotok független programok vagy szkriptek, amelyek ugyanúgy csatlakoznak a hálózathoz, mint az emberek. Be lehet programozni, hogy válaszoljanak a felhasználói parancsokra, vagy akár csevegjenek. Ebben az útmutatóban megtalálhatja az IRC bot építésének lehetőségeit, valamint azt, hogy hogyan hozhat létre egyet a semmiből.

Lépések

1 /2 -es módszer: Opciók értékelése

IRC bot fejlesztése 1. lépés
IRC bot fejlesztése 1. lépés

1. lépés. Fontolja meg az ügyfélszkript telepítését

Néha csak egy egyszerű feladatot szeretne elvégezni, és nem akarja, hogy független program legyen. Ebben az esetben csatolhat egy szkriptet egy IRC ügyfélhez. Ez meglehetősen gyakori a mIRC esetében, amely robusztus szkriptmotorral és számos elérhető szkripttel rendelkezik. Ez a legegyszerűbb lehetőség, és erősen ajánlott, ha nincs sok programozási tapasztalata. Az útmutató további részében az utasítások követéséhez bizonyos számítógépes programozási ismeretekre van szükség.

IRC bot fejlesztése 2. lépés
IRC bot fejlesztése 2. lépés

2. Lépés. Fontolja meg a bot egy meglévő kódbázisát

Számos nyílt forráskódú és ingyenes program létezik, amelyek segítségével gyorsan beállíthatja saját testreszabott botját. Ilyen például az Eggdrop, a legrégebbi IRC bot, amelyet még mindig karbantartanak.

IRC bot fejlesztése 3. lépés
IRC bot fejlesztése 3. lépés

3. lépés. Fontolja meg saját bot írását

Haladó IRC felhasználók és fejlesztők, akik már ismerik a programozási nyelvet, ez egy nagyszerű lehetőség. Szinte bármilyen kívánt nyelvet használhat, amíg rendelkezik aljzat támogatással, de a legnépszerűbbek közé tartozik a Python, a Lua, a PHP, a C és a Perl. Ha ezek közül egyet sem tud, de tud egy másik nyelvet, az nem probléma. A weben általában bármilyen nyelven talál példákat. Ebben a cikkben bemutatjuk a PHP használatát. A PHP használatához telepítenie kell a PHP-CLI-t a számítógépére vagy a kiszolgálóra.

  • A PHP letölthető a php.net oldalról
  • A PHP parancsfájlok a parancssorból futtathatók. A PHP használatával kapcsolatos további információkért és segítségért lásd ezt a PHP kézikönyv oldalt.

2. módszer 2 -ből: Saját bot fejlesztése

IRC bot fejlesztése 4. lépés
IRC bot fejlesztése 4. lépés

1. lépés: Gyűjtse össze a kapcsolat részleteit

Ahhoz, hogy sikeresen csatlakozhasson a hálózathoz, meg kell szereznie az alábbi információkat.

  • szerver: Az IRC -hez való csatlakozáshoz használt szerver tartományneve, például

    chat.freenode.net

  • Kikötő: A legtöbb esetben ez a 6667, de ha nem biztos benne, ellenőrizze saját IRC -ügyfélét vagy a hálózat webhelyét.
  • Becenév: A beceneve, amelyet a botjának kell használnia. Ne feledje, hogy néhány speciális karakter általában nem engedélyezett (@#! ~).
  • Ident: Az azonosító mező a becenév után jelenik meg, ha valaki ilyen WHOIS -t hajt végre:

    becenév! azonosító@gazdagépnév

  • GECOS: Ez a mező általában a felhasználó valódi nevét vagy a bot általános leírását tartalmazza, de bármit beírhat.
  • Csatorna: Általában azt szeretné, ha a botja egy vagy több csatornában jelen lenne. A legtöbb hálózaton ezek előtagja „#”, de lehet, hogy valami más.
IRC bot fejlesztése 5. lépés
IRC bot fejlesztése 5. lépés

2. lépés: Inicializálja a konfigurációt a szkriptben

Ennek legalapvetőbb módja, ha néhány változót a fenti konfigurációs neveknek megfelelően nevez meg. Ezeket tárolhatja egy konfigurációs fájlban, és elemezheti őket, de jelenleg csak az abszolút szükségleteknél maradunk.

IRC bot fejlesztése 6. lépés
IRC bot fejlesztése 6. lépés

3. lépés Csatlakozás a hálózathoz

Ehhez meg kell nyitnia egy foglalatot a szerverhez a megadott porton. Ebben a részben is hozzá kell adnia néhány hibakezelési kódot, ha a kapcsolat bármilyen okból meghiúsul. Ebben az esetben a PHP néhány egyszerű funkciót biztosít számunkra a hiba hatékony kezelésére.

IRC bot fejlesztése 7. lépés
IRC bot fejlesztése 7. lépés

4. lépés. Regisztrálja botját

Ez azt jelenti, hogy megadja becenevét, identitását és GECOS -ját a szervernek, nem regisztrál a NickServ -hez. Ehhez csak írja be a szerverre a NICK és USER parancsokat, majd a kocsi visszatérést és az új sort. Elengedhetetlen, hogy pontosan az ábrán látható módon tegye meg, mert így van megadva az RFC1459 -ben, az IRC protokoll specifikációjában.

Vegye figyelembe, hogy a középső két paramétert (ebben az esetben * és 8) meg kell adni, de a szerver figyelmen kívül hagyja őket. Ezt a kettőt csak összekapcsolt kiszolgálók használják, nem közvetlenül csatlakozó kliens

IRC bot fejlesztése 8. lépés
IRC bot fejlesztése 8. lépés

5. lépés: Folytassa az adatok lekérését a foglalatból egy hurok segítségével

Ha nem használ hurkot, akkor a szkript azonnal leáll, és a bot alapvetően haszontalan lesz. Ahhoz, hogy kapcsolatban maradhasson, adatokat kell lekérnie a szerverről, ellenőriznie kell a kívánt adatfolyam bemenetét, és válaszolnia kell, ha igen. Itt adatokat gyűjtünk a socket_read () használatával, hogy megkapjuk a rendelkezésünkre álló adatokat. Ha van, akkor továbbra is azt csináljuk, ami a körben van. Hasznos lehet, ha a nyers adatokat a konzolra is kiadja, hogy a bot szemszögéből láthassa, mi történik.

IRC bot fejlesztése 9. lépés
IRC bot fejlesztése 9. lépés

6. lépés. Írjon pingkezelőt

Ez fontos. Ha nem válaszol a pingekre időben, akkor a szerver lekapcsolja Önt. Előbb ezzel törődjünk. A ping -ek így néznek ki a szerverről:

PING: rajaniemi.freenode.net

. A szervernek nem kell a nevét a ":" után írnia, bármit tud adni. * Pontosan meg kell ismételnie, * amit a szerver mondott, kivéve a PONG használatát.

IRC bot fejlesztése 10. lépés
IRC bot fejlesztése 10. lépés

7. lépés Csatlakozzon csatornáihoz

Rendben, tehát van egy botunk, amely csatlakozik a hálózathoz és válaszol a ping -ekre, de egyébként nem tesz semmit. Ahhoz, hogy az emberek lássák és használhassák a botját, egy csatornában kell lennie (különben meg kell mondania, hogy válaszoljon a privát üzenetekre).

  • Ehhez ellenőrizni fogjuk a kiszolgáló állapotkódjait 376 vagy 422. A 376 azt jelenti, hogy a MOTD (a nap üzenete) befejeződött. A 422 azt jelenti, hogy nem volt küldhető MOTD. Ez a MOTD csak valami, amit a szerver küld, amikor csatlakozik, de ez egy jó mutató arra, hogy mikor kezdhetünk csatlakozni a csatornákhoz.
  • Ki kell adnia egy JOIN parancsot. Ezt a parancsot egy vagy több csatorna követheti vesszővel elválasztva.
  • Vegye figyelembe, hogy a szerver által küldött adatokat kényelmesen szóközök határolják. Ily módon feloszthatjuk az adatokat, és tömbindex segítségével hivatkozhatunk rájuk.
IRC bot fejlesztése 11. lépés
IRC bot fejlesztése 11. lépés

8. lépés. Válasz a csatornaüzenetekre

Most a szórakoztató részhez. Botod csatlakozott a csatornához, így most arra használhatod, amire akartad. Hozzunk létre egy példaparancsot @moo.

  • Vegye figyelembe az üzenetek kezdetének eltolását (ez mind a csatornákra, mind a privát üzenetekre vonatkozik). Mindig ugyanott van.
  • A parancsokat szóközökkel kezelheti úgy, hogy a darabolt adatokat újra összeilleszti ($ d). Ez túlmutat a cikk keretein.
  • Ha a cél egy csatorna (például #botters-test), akkor válaszoljon erre. Ha ez privát üzenet, akkor ez a bit lesz a bot beceneve! Ezután a feladó becenevével kell válaszolnia, nem a tiéddel (különben magaddal beszélnél, és ez csak butaság).
IRC bot fejlesztése 12. lépés
IRC bot fejlesztése 12. lépés

9. lépés. Bővítse botját

A fenti megvalósítással sok új funkciót vehet fel. Sok más parancs is kiadható az IRC hálózatra, mint például a műveletek kezelése, rúgás és tiltás, a téma beállítása, sok más funkció mellett.

Tippek

  • A "/me" parancs eredményét az üzenetek előtagjával állíthatja elő:

    • PRIVMSG #csatorna: / 001 AKCIÓ szöveg itt / 001.
    • A / 001 ASCII 1. karaktert jelent, és így fogjuk értelmezni egy idézőjeles PHP karakterláncban. Alternatívaként használhatja

      chr (1)

    • a húron kívül.
  • Az üzenetben színeket állíthat elő a "\ 003" (ASCII kód 3) előtaggal, majd egy szín számával. 0 = fehér, 1 = fekete, 2 = kék, 3 = zöld, 4 = piros […]. További színeket az mIRC oldalán talál.
  • Az udvariasság kedvéért szerezze be a csatornatulajdonosok és az IRC -üzemeltetők beleegyezését, mielőtt a botot online hozzáférhetővé tenné. Nem minden hálózat és csatorna üdvözli a botokat, még a jól viselkedőket is.
  • Egyes IRC démonok túlmutatnak a protokoll előírásain, és más funkciókat is megvalósítanak. Ha egy adott hálózatra tervezi, akkor biztosan használhatja ezeket a szolgáltatásokat, ha ismeri a protokolljukat. Ha azonban azt szeretné, hogy a robotot több hálózaton is telepítsék, próbálja meg az RFC -ben leírtak szerint tartani.

Ajánlott: