Jak vyvinout robota IRC

Pokud jste byli na Internet Relay Chat (IRC), je pravděpodobné, že jste v určitém okamžiku narazili na robota. Boti jsou nezávislé programy nebo skripty, které se připojují k síti stejným způsobem, jako by to dělal člověk. Lze je naprogramovat tak, aby reagovaly na uživatelské příkazy nebo dokonce chatovaly. V této příručce můžete zjistit, jaké máte možnosti pro sestavení robota IRC a jak jej postavit od začátku.



Metoda 1 ze 2: Vyhodnocení možností

  1. Obrázek s názvem Vyvinout robota IRC Krok 1

    1 Zvažte instalaci klientského skriptu. Někdy prostě chcete udělat jednoduchý úkol a nechcete, aby to byl nezávislý program. V takovém případě můžete ke klientovi IRC připojit skript. To je docela běžné mIRC , který má robustní skriptovací engine a širokou škálu dostupných skriptů. Toto je nejjednodušší možnost a je velmi doporučeno, pokud nemáte mnoho nebo žádné zkušenosti s programováním. Pro zbytek této příručky vyžadují pokyny určité znalosti počítačového programování, které je třeba dodržovat.
  2. Obrázek s názvem Vyvinout robota IRC Krok 2

    2 Zvažte již existující základnu kódů pro svého robota. Existuje mnoho open source a bezplatných programů, které vám pomohou rychle nastavit vlastního přizpůsobeného robota. Jedním takovým příkladem je Eggdrop , nejstarší robot IRC je stále udržován.
  3. Obrázek s názvem Vyvinout robota IRC Krok 3

    3 Zvažte napsání vlastního robota. Pro pokročilé uživatele a vývojáře IRC, kteří se již v programovacím jazyce vyznají, je to skvělá volba. Můžete používat téměř jakýkoli požadovaný jazyk, pokud má podporu soketu, ale mezi oblíbené patří Python, Lua, PHP, C a Perl. Pokud nic z toho neznáte, ale znáte jiný jazyk, není to problém. Na webu obvykle najdete příklady v libovolném jazyce. V tomto článku si ukážeme použití PHP. Chcete-li používat PHP, musíte mít na svém počítači nebo serveru nainstalován PHP-CLI.
    • PHP lze stáhnout z php.net
    • Skripty PHP lze spouštět z příkazového řádku. Další informace a pomoc s používáním PHP najdete na tato stránka manuálu PHP .
    reklama

Metoda 2 ze 2: Vývoj vlastního bota

  1. Obrázek s názvem Vyvinout robota IRC Krok 4

    1 Shromážděte podrobnosti o připojení. K úspěšnému připojení k síti budete potřebovat následující informace.
    • Server : Název domény serveru použitého k připojení k IRC, například | _+_ |
    • Přístav : Ve většině případů je to 6667, ale pokud si nejste jisti, zkontrolujte svého vlastního klienta IRC nebo webovou stránku sítě.
    • Přezdívka : Přezdívka, kterou by měl váš robot používat. Mějte na paměti, že některé speciální znaky obvykle nejsou povoleny (@#! ~).
    • Ident : Pole identity se objeví za přezdívkou, když někdo provádí WHOIS takto: | _+_ |
    • GECOS : Toto pole obvykle obsahuje skutečné jméno uživatele nebo obecný popis robota, ale můžete tam vložit co chcete.
    • Kanál : Obvykle chcete, aby byl váš robot přítomen v jednom nebo více kanálech. Ve většině sítí mají předponu '#', ale může to být něco jiného.
  2. Obrázek s názvem Develop an IRC Bot Step 52 Inicializujte konfiguraci ve svém skriptu. Nejzákladnějším způsobem, jak toho dosáhnout, je pojmenování několika proměnných podle výše uvedených názvů konfigurace. Můžete je také uložit do konfiguračního souboru a analyzovat je, ale prozatím se budeme držet pouze nezbytných potřeb.
  3. Obrázek s názvem Develop an IRC Bot Step 6

    3 Připojte se k síti. Chcete -li to provést, musíte na zadaném portu otevřít soket serveru. V této části byste měli také přidat nějaký kód pro zpracování chyb v případě, že se připojení z jakéhokoli důvodu nezdaří. V tomto případě nám PHP poskytuje několik úhledných funkcí pro efektivní zpracování chyby.
  4. Obrázek s názvem Develop an IRC Bot Step 74 Zaregistrujte svého robota. To znamená dodat serveru vaši přezdívku, identitu a GECOS, ne registrace u NickServ. Chcete -li to provést, stačí napsat příkazy NICK a USER na server, následovat návrat na začátek řádku a nový řádek. Je nutné, abyste to udělali přesně podle obrázku, protože to je uvedeno v RFC1459, specifikaci pro protokol IRC.
    • Všimněte si, že musí být zadány prostřední dva parametry (v tomto případě * a 8), ale jsou serverem ignorovány. Tyto dva se používají pouze mezi propojenými servery, nikoli přímo připojeným klientem.
  5. Obrázek s názvem Develop an IRC Bot Step 8

    5 Pokračujte v načítání dat ze soketu pomocí smyčky. Pokud byste nepoužili smyčku, váš skript by se okamžitě ukončil a robot by byl v podstatě k ničemu. Abyste zůstali připojeni, musíte načíst data ze serveru, zkontrolovat jakýkoli vstup v požadovaném streamu a pokud ano, odpovědět na něj. Zde sbíráme data pomocí socket_read (), abychom získali jakákoli data, která máme k dispozici. Pokud existuje, pokračujeme v tom, co je ve smyčce. Může být užitečné také odeslat nezpracovaná data do konzoly, abyste mohli vidět, co se děje z pohledu robota.
  6. Obrázek s názvem Develop an IRC Bot Step 96 Napište obslužný program ping. Toto je důležité. Pokud na pingy nereagujete včas, server vás odpojí. Pojďme se o to nejprve postarat. Pingy po odeslání ze serveru vypadají takto: | _+_ |. Server nemusí uvádět své jméno za ':', může dodat, co chce. * Musíte * zopakovat přesně to, co řekl server, kromě použití PONG.
  7. Obrázek s názvem Develop an IRC Bot Step 10

    7 Připojte se ke svým kanálům. Dobře, takže máme robota, který se připojuje k síti a reaguje na pingy, ale jinak nedělá nic. Aby lidé viděli a používali vašeho robota, měl by být v kanálu (jinak byste mu museli říct, aby odpovídal na soukromé zprávy).
    • Za tímto účelem zkontrolujeme stavové kódy serveru 376 nebo 422. 376 znamená, že MOTD (zpráva dne) skončila. 422 znamená, že nebyl žádný MOTD k odeslání. Že MOTD je něco, co server odešle, když se připojíte, ale je to dobrý indikátor, kdy můžeme začít spojovat kanály.
    • Budete muset zadat příkaz JOIN. Za tímto příkazem může následovat jeden nebo více kanálů oddělených čárkou.
    • Všimněte si, že data, která server odesílá, jsou vhodně oddělena mezerami. Tímto způsobem můžeme data rozdělit a odkazovat na ně pomocí indexu pole.
  8. Obrázek s názvem Develop an IRC Bot Step 118 Reagujte na zprávy kanálu. Nyní k zábavné části. Váš robot se připojil ke kanálu, takže jej nyní můžete použít k tomu, co jste chtěli. Vytvořme příklad příkazu s názvem @moo.
    • Všimněte si posunu, kde zprávy začínají (to platí pro kanály i soukromé zprávy). Vždy je na stejném místě.
    • Příkazy s mezerami v nich můžete zpracovat tak, že spojíte seskupená data zpět dohromady ($ d). To je mimo rozsah tohoto článku.
    • Pokud je cílem kanál (například #botters-test), odpovíte na to. Pokud se jedná o soukromou zprávu, bude tento bit přezdívkou vašeho robota! Poté musíte odpovědět pomocí přezdívky odesílatele, ne vaší (jinak byste mluvili sami se sebou, a to je prostě hloupé).
  9. Obrázek s názvem Develop an IRC Bot Step 12

    9 Rozšiřte svého robota. Pomocí výše uvedené implementace můžete přidat mnoho nových funkcí. Do sítě IRC lze vydat mnoho dalších příkazů, například správu operací, kopání a banování, nastavení tématu a mnoho dalších funkcí. reklama

Komunitní otázky a odpovědi

Vyhledávání Přidat novou otázku
  • Otázka Poté, co je přidám do poznámkového bloku+, kam přidám tyto kódy? létající 8lack Umístěte je na webový server (například Apache), který podporuje PHP. XXAMP můžete nainstalovat na svůj místní počítač nebo je hostovat na jiném webovém serveru.
Položit otázku Zbývá 200 znaků Zadejte svoji e -mailovou adresu, abyste dostali zprávu, když bude tato otázka zodpovězena. Předložit
reklama

Tipy

  • Výsledek příkazu '/me' můžete vytvořit předponou zpráv takto:
    • PRIVMSG #channel: 001ACTION text zde 001 .
    • 001 znamená ASCII znak 1 a bude takto interpretován ve dvojitém řetězci PHP. Alternativně můžete použít | _+_ | mimo řetězec.
  • Barvy mohou být vytvořeny ve zprávě předponou ' 003' (kód ASCII 3) následovanou číslem barvy. 0 = bílá, 1 = černá, 2 = modrá, 3 = zelená, 4 = červená [...]. Vidět mIRC stránka pro více barev.
  • Před zdvořilostí si před uvedením svého robota online vyžádejte souhlas vlastníků kanálů a operátorů IRC. Ne všechny sítě a kanály mají vůči robotům vítanou politiku, dokonce i slušně vychované.
  • Někteří IRC démoni jdou nad rámec specifikací protokolu a implementují další funkce. Pokud jej používáte pro konkrétní síť, můžete tyto funkce určitě využít, pokud víte o jejich protokolu. Pokud však chcete, aby byl váš robot nasazen v několika sítích, zkuste jej zachovat podle toho, co je v RFC.

Reklama Odeslat tip Všechna podání tipů jsou před zveřejněním pečlivě zkontrolována Děkujeme za zaslání tipu ke kontrole!