Jinsi ya Kutengeneza Bot ya IRC: Hatua 12 (na Picha)

Orodha ya maudhui:

Jinsi ya Kutengeneza Bot ya IRC: Hatua 12 (na Picha)
Jinsi ya Kutengeneza Bot ya IRC: Hatua 12 (na Picha)

Video: Jinsi ya Kutengeneza Bot ya IRC: Hatua 12 (na Picha)

Video: Jinsi ya Kutengeneza Bot ya IRC: Hatua 12 (na Picha)
Video: Jinsi ya kutengeneza barua pepe(EMAIL) 2024, Aprili
Anonim

Ikiwa umekuwa kwenye Gumzo la Kupitisha Mtandaoni (IRC), kuna uwezekano kuwa umekutana na bot wakati fulani. Bots ni mipango huru au hati ambazo zinaunganisha kwenye mtandao kwa njia ile ile ambayo mwanadamu angefanya. Wanaweza kusanidiwa kujibu amri za mtumiaji au hata kuzungumza. Katika mwongozo huu, unaweza kupata chaguo zako za kujenga bot ya IRC na pia jinsi ya kujenga moja kutoka mwanzoni.

Hatua

Njia 1 ya 2: Kuchunguza Chaguzi

Endeleza hatua ya 1 ya Bot ya IRC
Endeleza hatua ya 1 ya Bot ya IRC

Hatua ya 1. Fikiria kufunga hati ya mteja

Wakati mwingine unataka kazi rahisi kufanywa na hautaki iwe mpango huru. Katika kesi hiyo, unaweza kushikilia hati kwa mteja wa IRC. Hii ni kawaida kufanya na MIRC, ambayo ina injini dhabiti ya maandishi na anuwai ya hati zinazopatikana. Hii ndiyo chaguo rahisi na inayopendekezwa sana ikiwa hauna uzoefu mwingi au programu yoyote. Kwa mwongozo huu wote, maagizo yanahitaji ujuzi fulani wa programu ya kompyuta kufuata.

Tengeneza hatua ya 2 ya IRC Bot
Tengeneza hatua ya 2 ya IRC Bot

Hatua ya 2. Fikiria codebase iliyopo tayari kwa bot yako

Kuna programu nyingi za chanzo wazi na za bure ambazo zinaweza kukusaidia kusanikisha bot yako iliyoboreshwa haraka. Mfano mmoja kama huo ni Eggdrop, bot ya zamani zaidi ya IRC inayoendelea kutunzwa.

Endeleza hatua ya 3 ya Bot ya IRC
Endeleza hatua ya 3 ya Bot ya IRC

Hatua ya 3. Fikiria kuandika bot yako mwenyewe

Kwa watumiaji wa hali ya juu wa IRC na watengenezaji ambao tayari wanajua njia yao karibu na lugha ya programu, hii ni chaguo bora. Unaweza kutumia lugha nzuri sana kwa muda mrefu ikiwa ina msaada wa tundu, lakini maarufu kutumia ni pamoja na Python, Lua, PHP, C, na Perl. Ikiwa haujui yoyote ya haya lakini unajua lugha nyingine, hilo sio shida. Kawaida unaweza kupata mifano kwenye wavuti kwa lugha yoyote unayotaka. Kwa kifungu hiki, tutaonyesha kutumia PHP. Kutumia PHP, utahitaji kuwa na PHP-CLI iliyosanikishwa kwenye kompyuta yako au seva.

  • PHP inaweza kupakuliwa kutoka php.net
  • Hati za PHP zinaweza kutekelezwa kutoka kwa laini ya amri. Kwa habari ya ziada na usaidie kutumia PHP, angalia ukurasa huu wa mwongozo wa PHP.

Njia ya 2 ya 2: Kuendeleza Bot yako mwenyewe

Tengeneza hatua ya 4 ya Bot ya IRC
Tengeneza hatua ya 4 ya Bot ya IRC

Hatua ya 1. Kukusanya maelezo ya unganisho

Utahitaji kupata habari ifuatayo ili unganishe kwa mafanikio kwenye mtandao.

  • SevaJina la kikoa cha seva iliyotumiwa kuungana na IRC, kama vile

    chat.freenode.net

  • Bandari: Katika hali nyingi, hii ni 6667, lakini ikiwa hauna uhakika, angalia mteja wako wa IRC au wavuti ya mtandao.
  • Jina la utani: Jina la utani bot yako inapaswa kutumia. Kumbuka kwamba wahusika maalum kawaida hawaruhusiwi (@ #! ~).
  • KitambulishoSehemu ya kitambulisho inaonekana baada ya jina la utani wakati mtu anafanya WHOIS kama hii:

    jina la utani! ident @ jina la mwenyeji

  • GECOS: Sehemu hii kawaida hushikilia jina halisi la mtumiaji au maelezo ya jumla ya bot lakini unaweza kuweka chochote unachotaka hapo.
  • Kituo: Kawaida unataka bot yako iwepo katika njia moja au zaidi. Kwenye mitandao mingi, hizi zimetangulizwa na '#' lakini inaweza kuwa kitu kingine.
Tengeneza hatua ya 5 ya IRC Bot
Tengeneza hatua ya 5 ya IRC Bot

Hatua ya 2. Anzisha usanidi katika hati yako

Njia ya msingi zaidi ya kufanya hivyo ni kwa kutaja anuwai kadhaa kulingana na majina ya usanidi hapo juu. Unaweza pia kuzihifadhi kwenye faili ya usanidi na kuzichanganua, lakini kwa sasa tutaambatana na mahitaji kamili.

Endeleza hatua ya 6 ya Bot ya IRC
Endeleza hatua ya 6 ya Bot ya IRC

Hatua ya 3. Unganisha kwenye mtandao

Ili kufanya hivyo, utahitaji kufungua tundu kwa seva kwenye bandari maalum. Unapaswa pia kuongeza nambari ya utunzaji wa makosa katika sehemu hii ikiwa unganisho linashindwa kwa sababu yoyote. Katika kesi hii, PHP hutupatia kazi nadhifu kushughulikia kosa kwa ufanisi.

Endeleza hatua ya 7 ya Bot ya IRC
Endeleza hatua ya 7 ya Bot ya IRC

Hatua ya 4. Sajili bot yako

Hii inamaanisha kusambaza jina lako la utani, kitambulisho, na GECOS kwenye seva, bila kusajili na NickServ. Ili kufanya hivyo, andika tu amri za NICK na USER kwa seva, ikifuatiwa na kurudi kwa gari na newline. Ni muhimu kuifanya kama ilivyoonyeshwa, kwa sababu ndivyo ilivyoainishwa katika RFC1459, maelezo ya itifaki ya IRC.

Kumbuka kuwa vigezo viwili vya kati (katika kesi hii, * na 8) lazima vionyeshwe, lakini hupuuzwa na seva. Hizo mbili hutumiwa tu kati ya seva zilizounganishwa, sio na mteja anayeunganisha moja kwa moja

Endeleza IRC Bot Hatua ya 8
Endeleza IRC Bot Hatua ya 8

Hatua ya 5. Endelea kupata data kutoka kwa tundu ukitumia kitanzi

Ikiwa haukutumia kitanzi, hati yako ingekomesha mara moja na bot hiyo itakuwa haina maana. Ili uendelee kushikamana, lazima uchukue data kutoka kwa seva, angalia pembejeo yoyote kwenye mkondo unaotaka, na ujibu ikiwa ni hivyo. Hapa, tunachukua data kwa kutumia socket_read () kunyakua data yoyote inayopatikana kwetu. Ikiwa kuna, tunaendelea kufanya chochote kilicho kwenye kitanzi. Inaweza kusaidia pia kutoa data ghafi kwenye koni ili uweze kuona kinachoendelea kutoka kwa mtazamo wa bot.

Endeleza hatua ya 9 ya Bot ya IRC
Endeleza hatua ya 9 ya Bot ya IRC

Hatua ya 6. Andika mshughulikiaji wa ping

Hii ni muhimu. Ikiwa haujibu pings kwa wakati unaofaa, seva itakutenganisha. Wacha tuitunze hiyo kwanza. Pings inaonekana kama hii wakati imetumwa kutoka kwa seva:

PING: rajaniemi.freenode.net

. Seva haifai kuweka jina lake baada ya ':', inaweza kusambaza chochote inachotaka. Lazima * urudie kurudia kile seva ilisema, isipokuwa kutumia PONG.

Tengeneza hatua ya 10 ya IRC Bot
Tengeneza hatua ya 10 ya IRC Bot

Hatua ya 7. Jiunge na vituo vyako

Sawa, kwa hivyo tuna bot inayounganisha na mtandao na inajibu pings, lakini vinginevyo haifanyi chochote. Kwa watu kuona na kutumia bot yako, inapaswa kuwa kwenye kituo (vinginevyo itabidi uiambie ijibu ujumbe wa faragha).

  • Ili kufanya hivyo, tutaangalia nambari za hali ya seva 376 au 422. 376 inamaanisha MOTD (ujumbe wa siku) umekamilika. 422 inamaanisha hakukuwa na MOTD yoyote ya kutuma. Hiyo MOTD ni kitu ambacho seva hutuma wakati unaunganisha, lakini ni kiashiria kizuri cha wakati tunaweza kuanza kujiunga na vituo.
  • Utahitaji kutoa amri ya JIUNGE. Amri hii inaweza kufuatwa na njia moja au zaidi zilizotengwa na koma.
  • Kumbuka kuwa data ambayo seva hutuma imewekwa kwa urahisi na nafasi. Kwa njia hii tunaweza kugawanya data na kuirejelea kwa kutumia faharisi ya safu.
Endeleza hatua ya 11 ya Bot ya IRC
Endeleza hatua ya 11 ya Bot ya IRC

Hatua ya 8. Jibu ujumbe wa kituo

Sasa kwa sehemu ya kufurahisha. Bot yako imejiunga na kituo, kwa hivyo sasa unaweza kuitumia kwa kile ulichotaka. Wacha tuunde mfano amri inayoitwa @moo.

  • Kumbuka mpangilio ambao ujumbe unaanzia (hii inatumika kwa vituo vyote na ujumbe wa faragha). Daima iko mahali pamoja.
  • Unaweza kushughulikia maagizo na nafasi ndani yao kwa kusanya data iliyokatizwa kurudi pamoja ($ d). Hiyo ni zaidi ya upeo wa nakala hii.
  • Ikiwa lengo ni kituo (kama vile # botters-test), basi ujibu hilo. Ikiwa ni ujumbe wa faragha, kidogo hii itakuwa jina la utani la bot yako! Lazima ujibu ukitumia jina la utani la mtumaji, sio lako (vinginevyo ungekuwa unazungumza na wewe mwenyewe, na hiyo ni ujinga tu).
Endeleza hatua ya 12 ya Bot ya IRC
Endeleza hatua ya 12 ya Bot ya IRC

Hatua ya 9. Panua bot yako

Unaweza kuongeza huduma nyingi mpya kwa kutumia utekelezaji hapo juu. Kuna amri zingine nyingi ambazo zinaweza kutolewa kwa mtandao wa IRC, kama vile kusimamia ops, mateke na kupiga marufuku, kuweka mada, kati ya huduma zingine nyingi.

Vidokezo

  • Unaweza kutoa matokeo ya amri ya "/ me" kwa kubandika ujumbe wako kama hii:

    • Kituo cha PRIVMSG: / 001ACTION maandishi hapa / 001.
    • 001 inamaanisha tabia ya ASCII 1 na itafasiriwa kama hivyo katika kamba ya PHP iliyonukuliwa mara mbili. Vinginevyo, unaweza kutumia

      chr (1)

    • nje ya kamba.
  • Rangi zinaweza kuzalishwa katika ujumbe kwa kuambatanisha "\ 003" (nambari ya ASCII 3) ikifuatiwa na nambari ya rangi. 0 = nyeupe, 1 = nyeusi, 2 = bluu, 3 = kijani, 4 = nyekundu […]. Tazama ukurasa wa MIRC kwa rangi zaidi.
  • Kama jambo la heshima, pata idhini ya wamiliki wa vituo na waendeshaji wa IRC kabla ya kuleta bot yako mkondoni. Sio mitandao na vituo vyote vina sera ya kukaribisha kwa bots, hata zile zenye tabia nzuri.
  • Mademoni mengine ya IRC huenda zaidi ya maelezo ya itifaki na kutekeleza huduma zingine. Ikiwa unaiandaa kwa mtandao maalum, kwa kweli unaweza kutumia huduma hizo ikiwa unajua juu ya itifaki yao. Ikiwa unataka bot yako kupelekwa kwenye mitandao kadhaa, hata hivyo, jaribu kuiweka kwenye kile kilicho kwenye RFC.

Ilipendekeza: