IRC ботун кантип иштеп чыгуу керек: 12 кадам (сүрөттөр менен)

Мазмуну:

IRC ботун кантип иштеп чыгуу керек: 12 кадам (сүрөттөр менен)
IRC ботун кантип иштеп чыгуу керек: 12 кадам (сүрөттөр менен)

Video: IRC ботун кантип иштеп чыгуу керек: 12 кадам (сүрөттөр менен)

Video: IRC ботун кантип иштеп чыгуу керек: 12 кадам (сүрөттөр менен)
Video: Электрондук почта аркылуу кат,документтерди жиберуу 2024, Апрель
Anonim

Эгерде сиз Интернет -релелик чатта (IRC) болгон болсоңуз, анда сиз бир убакта ботко туш болгонсуз. Боттор - бул көз карандысыз программалар же сценарийлер, алар адамдардай эле тармакка туташат. Алар колдонуучунун буйруктарына жооп берүү үчүн программаланышы мүмкүн, ал тургай чатта. Бул колдонмодо сиз IRC ботун куруу үчүн кандай варианттар бар экенин, ошондой эле башынан баштап кантип курууну таба аласыз.

Кадамдар

Метод 1 2: баалоо параметрлери

IRC Bot 1 -кадамын иштеп чыгуу
IRC Bot 1 -кадамын иштеп чыгуу

Кадам 1. Кардар скриптин орнотууну карап көрүңүз

Кээде сиз жөн эле тапшырманы аткаргыңыз келет жана анын көз карандысыз программа болушун каалабайсыз. Мындай учурда, сиз IRC кардарына скрипт тиркей аласыз. Бул күчтүү скрипт кыймылдаткычы жана жеткиликтүү сценарийлердин кеңири түрү бар mIRC менен байланыштуу. Бул эң оңой вариант жана эгер сизде көп же кандайдыр бир программалоо тажрыйбасы жок болсо сунушталат. Бул колдонмонун калган бөлүгүндө, көрсөтмөлөр компьютердик программалоо боюнча бир аз билимди талап кылат.

IRC Bot 2 -кадамын иштеп чыгуу
IRC Bot 2 -кадамын иштеп чыгуу

Кадам 2. Ботуңуз үчүн мурдатан бар болгон базаны карап көрүңүз

Өзүңүздүн жеке ботуңузду тез орнотууга жардам бере турган көптөгөн ачык булактар жана бекер программалар бар. Мындай мисалдардын бири - Eggdrop, эң байыркы IRC боту дагы эле сакталып турат.

IRC Bot 3 -кадамын иштеп чыгуу
IRC Bot 3 -кадамын иштеп чыгуу

Кадам 3. Өз ботуңузду жазууну карап көрүңүз

Өркүндөтүлгөн IRC колдонуучулары жана иштеп чыгуучулар үчүн программалоо тили боюнча өз жолун билгендер үчүн бул эң сонун вариант. Сиз розеткага ээ болсоңуз, каалаган тилди колдонсоңуз болот, бирок популярдуу тилдерге Python, Lua, PHP, C жана Perl кирет. Эгерде сиз булардын бирин билбесеңиз, бирок сиз башка тилди билсеңиз, бул көйгөй эмес. Сиз адатта интернеттен каалаган тилде мисалдарды таба аласыз. Бул макалада биз PHP колдонууну көрсөтөбүз. PHPди колдонуу үчүн, сиздин компьютериңизге же сервериңизге PHP-CLI орнотулган болушу керек.

  • PHPди php.net сайтынан жүктөп алса болот
  • PHP скрипттери буйрук сабынан аткарылышы мүмкүн. Кошумча маалымат жана PHPди колдонууга жардам алуу үчүн, бул PHP колдонмо барагын караңыз.

Метод 2 2: Өз ботуңузду иштеп чыгуу

IRC Bot 4 -кадамын иштеп чыгуу
IRC Bot 4 -кадамын иштеп чыгуу

Кадам 1. Байланыштын чоо -жайын чогултуп алыңыз

Тармакка ийгиликтүү туташуу үчүн төмөнкү маалыматты алышыңыз керек.

  • Server: IRCге туташуу үчүн колдонулган сервердин домендик аты, мисалы

    chat.freenode.net

  • Порт: Көпчүлүк учурда, бул 6667, бирок ишенбесеңиз, жеке IRC кардарыңызды же тармактын веб -сайтын текшериңиз.
  • Ник: Ботуңуздун лакап аты колдонулушу керек. Кээ бир өзгөчө символдорго тыюу салынганын унутпаңыз (@#! ~).
  • Ident: Кимдир бирөө мындай WHOISти аткарганда, лакап атыдан кийин идентификатор талаасы пайда болот:

    ник! ident@hostname

  • GECOS: Бул талаа адатта колдонуучунун чыныгы атын же боттун жалпы сүрөттөмөсүн камтыйт, бирок сиз каалаганыңызды ошол жерге киргизе аласыз.
  • Канал: Сиз көбүнчө ботуңуздун бир же бир нече каналда болушун каалайсыз. Көпчүлүк тармактарда буларга '#' префикси коюлат, бирок ал башка нерсе болушу мүмкүн.
IRC Bot 5 -кадамын иштеп чыгуу
IRC Bot 5 -кадамын иштеп чыгуу

Кадам 2. Сценарийиңиздеги конфигурацияны баштаңыз

Мунун эң негизги жолу - жогоруда конфигурация аттарына ылайык бир нече өзгөрмөлөрдү атоо. Сиз аларды конфигурация файлында сактай аласыз жана аларды талдай аласыз, бирок азырынча биз абсолюттук керектөөлөрдү кармайбыз.

IRC Bot 6 -кадамын иштеп чыгуу
IRC Bot 6 -кадамын иштеп чыгуу

Кадам 3. Тармакка туташуу

Бул үчүн, көрсөтүлгөн порт боюнча серверге розетканы ачышыңыз керек болот. Эгер кандайдыр бир себептерден улам байланыш үзүлүп калса, бул бөлүккө ката иштетүү кодун кошушуңуз керек. Бул учурда, PHP катаны эффективдүү чечүү үчүн бизге тыкан функцияларды камсыздайт.

IRC Bot 7 -кадамын иштеп чыгуу
IRC Bot 7 -кадамын иштеп чыгуу

Кадам 4. Ботуңузду каттаңыз

Бул NickServ менен катталбастан, лакап атыңызды, идентификаторуңузду жана GECOSту серверге жеткирүүнү билдирет. Бул үчүн, жөн гана NICK жана USER буйруктарын серверге жазыңыз, андан кийин арабаны кайтаруу жана жаңы сап. Сиз муну так көрсөтүлгөндөй кылышыңыз керек, анткени ал IRC протоколу үчүн RFC1459до ушундай көрсөтүлгөн.

Орточо эки параметр (бул учурда * жана 8) көрсөтүлүшү керек экенин эске алыңыз, бирок алар сервер тарабынан этибарга алынбайт. Бул экөө түз байланышуучу кардар тарабынан эмес, байланышкан серверлердин ортосунда гана колдонулат

IRC Bot 8 -кадамын иштеп чыгуу
IRC Bot 8 -кадамын иштеп чыгуу

Кадам 5. Укурукту колдонуп, укуруктан маалыматтарды алып туруңуз

Эгерде сиз циклди колдонбосоңуз, анда сиздин сценарийиңиз дароо токтотулат жана бот негизинен жараксыз болуп калат. Байланышта калуу үчүн, сиз серверден маалыматтарды алып, керектүү агымдын киришин текшерип, эгер бар болсо, ага жооп беришиңиз керек. Бул жерде биз socket_read () аркылуу биз үчүн жеткиликтүү болгон маалыматтарды алуу үчүн маалыматтарды алып жатабыз. Эгер бар болсо, биз циклда эмне болсо ошону жасай беребиз. Чийки маалыматты консолго чыгаруу пайдалуу болушу мүмкүн, андыктан боттун көз карашы менен эмне болуп жатканын көрө аласыз.

IRC Bot 9 -кадамын иштеп чыгуу
IRC Bot 9 -кадамын иштеп чыгуу

Кадам 6. Пинг иштетүүчү жазыңыз

Бул маанилүү. Эгерде сиз пингге өз убагында жооп бербесеңиз, анда сервер сизди ажыратат. Келгиле, буга биринчи кезекте кам көрөлү. Пингтер серверден жөнөтүлгөндө ушундай көрүнөт:

PING: rajaniemi.freenode.net

. Сервер өзүнүн атын ':' кийин койбошу керек, ал каалаган нерсесин бере алат. Сиз * PONG колдонууну кошпогондо, сервердин айтканын так кайталашыңыз керек.

IRC Bot 10 -кадамын иштеп чыгуу
IRC Bot 10 -кадамын иштеп чыгуу

7 -кадам. Каналыңызга кошулуңуз

Макул, бизде бот бар, ал тармакка туташат жана пингге жооп берет, бирок антпесе эч нерсе кылбайт. Адамдар сиздин ботуңузду көрүп, колдонушу үчүн, ал каналда болушу керек (антпесе, жеке билдирүүлөргө жооп беришиңиз керек).

  • Бул үчүн биз 376 же 422 сервердин статус коддорун текшеребиз. 376 MOTD (күндүн билдирүүсү) бүткөнүн билдирет. 422 жөнөтө турган MOTD жок экенин билдирет. Бул MOTD сиз туташканда сервер жөнөткөн нерсе, бирок бул каналдарга кошула баштаганыбыз үчүн жакшы көрсөткүч.
  • Сиз JOIN буйругун чыгарышыңыз керек. Бул буйрукту үтүр менен ажыратылган бир же бир нече канал ээрчиши мүмкүн.
  • Байкаңыз, сервер жөнөткөн маалыматтар боштуктар менен оңой ажыратылган. Ошентип, биз маалыматтарды бөлүп, массивдин индексин колдонуп шилтеме жасай алабыз.
IRC Bot 11 -кадамын иштеп чыгуу
IRC Bot 11 -кадамын иштеп чыгуу

Кадам 8. Канал билдирүүлөрүнө жооп берүү

Эми кызыктуу бөлүгү үчүн. Сиздин бот каналга кошулду, андыктан азыр аны каалаган нерсеңиз үчүн колдоно аласыз. Келгиле, @moo аттуу мисал командасын түзөлү.

  • Билдирүүлөр баштала турган орунга көңүл буруңуз (бул каналдарга да, жеке билдирүүлөргө да тиешелүү). Ал дайыма бир жерде болот.
  • Чакырылган маалыматтарды кайра бириктирүү менен боштуктары бар буйруктарды иштете аласыз ($ d). Бул макаланын алкагынан тышкары.
  • Эгер максат канал болсо (мисалы #botters-test), анда сиз буга жооп бересиз. Эгер бул жеке билдирүү болсо, анда бул бит сиздин боттун лакап аты болот! Сиз андан кийин өзүңүздүн эмес, жөнөтүүчүнүн лакап аты менен жооп беришиңиз керек (антпесе сиз өзүңүз менен өзүңүз сүйлөшмөксүз, жана бул жөн эле акылсыздык).
IRC Bot 12 -кадамын иштеп чыгуу
IRC Bot 12 -кадамын иштеп чыгуу

Кадам 9. Ботуңузду кеңейтиңиз

Сиз жогоруда ишке ашыруу аркылуу көптөгөн жаңы мүмкүнчүлүктөрдү кошо аласыз. IRC тармагына бериле турган башка көптөгөн буйруктар бар, мисалы, операцияларды башкаруу, тепкилөө жана тыюу салуу, теманы коюу жана башка көптөгөн өзгөчөлүктөр.

Кеңештер

  • Билдирүүлөрүңүздүн префиксин коюу менен "/me" командасынын натыйжасын чыгара аласыз:

    • PRIVMSG #каналы: / 001ACTION текст бул жерде / 001.
    • 001 ASCII символу 1ди билдирет жана кош тырмакчалуу PHP сабында ушундай чечмеленет. Же болбосо, колдоно аласыз

      chr (1)

    • саптын сыртында.
  • Түстөрдү билдирүүдө "\ 003" (ASCII коду 3) префикси менен, андан кийин түс үчүн цифра менен чыгарууга болот. 0 = ак, 1 = кара, 2 = көк, 3 = жашыл, 4 = кызыл […]. Көбүрөөк түстөр үчүн mIRCтин баракчасын караңыз.
  • Сылыктык катары, ботуңузду онлайнга чыгарардан мурун канал ээлеринин жана IRC операторлорунун макулдугун алыңыз. Бардык эле тармактарда жана каналдарда ботторго, атүгүл жакшы жүрүм-турумдарга карата алгылыктуу саясат жок.
  • Кээ бир IRC демондору протоколдун өзгөчөлүктөрүнөн ашып кетет жана башка функцияларды ишке ашырат. Эгер сиз аны белгилүү бир тармакка даярдап жатсаңыз, анда алардын протоколу жөнүндө билсеңиз, анда бул функцияларды колдоно аласыз. Эгер сиз ботуңуздун бир нече тармактарга жайылышын кааласаңыз, бирок аны RFCтеги нерсеге сактоого аракет кылыңыз.

Сунушталууда: