Ако сте били на Интернет Релаи Цхат (ИРЦ), велика је вероватноћа да сте у неком тренутку наишли на бота. Ботови су независни програми или скрипте који се повезују на мрежу на исти начин као што би то учинио човек. Могу се програмирати да одговоре на корисничке команде или чак ћаскају. У овом водичу можете пронаћи које су ваше могућности за изградњу ИРЦ бота, као и како га направити од нуле.
Кораци
Метод један од 2: Процена опција
- један Размислите о инсталирању клијентске скрипте. Понекад желите само једноставан задатак и не желите да то буде независан програм. У том случају можете приложити скрипту ИРЦ клијенту. Ово је прилично уобичајено да се уради са мИРЦ , који има робустан механизам за скриптовање и широк спектар доступних скрипти. Ово је најлакша опција и топло се препоручује ако немате пуно или никакво програмско искуство. За остатак овог водича, упутства захтевају одређено знање из рачунарског програмирања.
- 2 Размотрите већ постојећу базу кодова за вашег бота. Постоји много отворених кода и бесплатни програми који вам могу помоћи да брзо поставите свог прилагођеног бота. Један такав пример је Еггдроп , најстарији ИРЦ бот који се и даље одржава.
- 3 Размислите о писању свог бота. За напредне ИРЦ кориснике и програмере који се већ добро сналазе у програмском језику, ово је одлична опција. Можете користити готово било који језик који желите ако има подршку за соцкет, али популарни су Питхон, Луа, ПХП, Ц и Перл. Ако не знате ниједно од ових, али знате други језик, то није проблем. На вебу обично можете пронаћи примере на било ком језику који желите. За овај чланак ћемо показати употребу ПХП-а. Да бисте користили ПХП, мораћете да имате ПХП-ЦЛИ инсталиран на рачунару или серверу.
- ПХП се може преузети са пхп.нет
- ПХП скрипте се могу извршавати из командне линије. За додатне информације и помоћ у коришћењу ПХП-а, погледајте ову ПХП страницу са упутствима .
Метод 2 од 2: Развијање сопственог бота
- један Прикупите детаље везе. Да бисте се успешно повезали на мрежу, мораћете да добијете следеће информације.
- Сервер : Име домена сервера који се користи за повезивање са ИРЦ-ом, као што је
chat.freenode.net
- Лука : У већини случајева ово је 6667, али ако нисте сигурни, проверите сопствени ИРЦ клијент или веб локацију мреже.
- Надимак : Надимак који би требало да користи ваш бот. Имајте на уму да неки посебни знакови обично нису дозвољени (@ #! ~).
- Идент : Поље идент појављује се након надимка када неко изведе ВХОИС попут овог:
nickname!ident@hostname
- ГЕЦОС : Ово поље обично садржи право име корисника или општи опис бота, али тамо можете ставити шта год желите.
- Цханнел : Обично желите да ваш бот буде присутан на једном или више канала. На већини мрежа имају префикс „#“, али то може бити нешто друго.
- Сервер : Име домена сервера који се користи за повезивање са ИРЦ-ом, као што је
- 2 Иницијализујте конфигурацију у својој скрипти. Најосновнији начин за то је именовањем неколико променљивих према горњим именима конфигурације. Можете их такође сачувати у датотеци за конфигурацију и рашчланити, али тренутно ћемо се држати апсолутних потреба.
- 3 Повежите се на мрежу. Да бисте то урадили, мораћете да отворите утичницу серверу на наведеном порту. У овај део такође треба да додате неки код за руковање грешкама у случају да веза из било ког разлога не успе. У овом случају, ПХП нам пружа неке уредне функције за ефикасно решавање грешке.
- 4 Региструјте свог бота. То значи испоручивање вашег надимка, идентитета и ГЕЦОС-а серверу, не регистровање код НицкСерв-а. Да бисте то урадили, довољно је да на сервер напишете НИЦК и УСЕР наредбе, након чега слиједи повратак кочије и нова линија. Неопходно је да то радите тачно онако како је приказано, јер је тако одређено у РФЦ1459, спецификацији за ИРЦ протокол.
- Имајте на уму да се морају навести средња два параметра (у овом случају, * и 8), али их сервер игнорише. То двоје користи само између повезаних сервера, а не клијент који се директно повезује.
- 5 Наставите да преузимате податке из утичнице помоћу петље. Ако не бисте користили петљу, ваша скрипта би се одмах прекинула и бот би у основи био бескористан. Да бисте остали повезани, морате да преузмете податке са сервера, проверите да ли има било каквог уноса у току који желите и одговорите на њега ако јесте. Овде прикупљамо податке помоћу соцкет_реад () да бисмо прикупили све податке који су нам доступни. Ако постоји, настављамо да радимо све што је у току. Могло би бити корисно и сирове податке извести на конзолу како бисте могли да видите шта се дешава из перспективе бота.
- 6 Напишите пинг руковатељ. То је важно. Ако на пингове не одговорите благовремено, сервер ће вас прекинути. Прво се побринимо за то. Пингови изгледају овако када се шаљу са сервера:
PING :rajaniemi.freenode.net
. Сервер не мора да ставља своје име иза ':', он може пружити све што жели. Морате * да поновите тачно оно што је сервер рекао, осим користећи ПОНГ. - 7 Придружите се својим каналима. У реду, имамо бота који се повезује на мрежу и реагује на пингове, али иначе не ради ништа. Да би људи видели и користили вашег бота, он би требао бити на каналу (у супротном бисте му морали рећи да одговара на приватне поруке).
- Да бисмо то урадили, проверићемо да ли постоје статусни кодови сервера 376 или 422. 376 значи да је МОТД (порука дана) завршен. 422 значи да није било МОТД-а за слање. Тај МОТД је само нешто што сервер шаље када се повежете, али је добар показатељ када можемо почети да се придружујемо каналима.
- Мораћете да издате команду ЈОИН. Ову команду може пратити један или више канала одвојених зарезом.
- Приметите да су подаци које сервер шаље прикладно разграничени размацима. На овај начин можемо поделити податке и референцирати их помоћу индекса низа.
- 8 Одговорите на поруке канала. Сада за забавни део. Ваш бот се придружио каналу, па га сада можете користити за оно што сте желели. Створимо пример наредбе која се зове @моо.
- Обратите пажњу на офсет у којем поруке почињу (ово се односи и на канале и на приватне поруке). Увек је на истом месту.
- Можете да рукујете наредбама са размацима у њима тако што ћете поново спојити подељене податке ($ д). То је изван делокруга овог чланка.
- Ако је циљ канал (као што је # боттерс-тест), тада одговорите на то. Ако је то приватна порука, овај бит ће бити надимак вашег бота! Тада морате одговорити надимком пошиљаоца, а не вашим (иначе бисте разговарали сами са собом, а то је једноставно глупо).
- 9 Проширите свог бота. Помоћу горе наведене примене можете додати много нових функција. Постоје многе друге наредбе које се могу издати ИРЦ мрежи, попут управљања оперативним системима, шутирања и забране, постављање теме, уз многе друге функције. Реклама
Питања и одговори заједнице
Претрага Додајте ново питање- Питање Након што их додам у нотепад +, где да додам ове кодове? летећи 8лацк Ставите их на веб сервер (као што је Апацхе) који подржава ПХП. Можете да инсталирате КСКСАМП на свој локални рачунар или да их хостујете на другом серверу.
Реклама
Савети
- Резултат наредбе '/ ме' можете додати тако да префиксујете поруке овако:
- ПРИВМСГ #цханнел: 001АЦТИОН текст овде 001 .
- 001 значи АСЦИИ знак 1 и као такав ће се тумачити у ПХП низу са двоструким наводницима. Можете и да користите
chr(1)
изван низа.
- Боје се могу створити у поруци додавањем префикса ' 003' (АСЦИИ код 3), а затим броја за боју. 0 = бело, 1 = црно, 2 = плаво, 3 = зелено, 4 = црвено [...]. Видите мИРЦ страница за више боја.
- Из љубазности, потражите сагласност власника канала и ИРЦ оператора пре него што свог бота повежете на мрежу. Немају све мреже и канали политику добродошлице према ботовима, чак ни оне добро понашане.
- Неки ИРЦ демони превазилазе спецификације протокола и примењују друге функције. Ако га припремате за одређену мрежу, сигурно можете да искористите те функције ако знате њихов протокол. Међутим, ако желите да ваш бот буде распоређен на неколико мрежа, покушајте да га задржите у складу са РФЦ-ом.
Оглас Пошаљите савет Сви поднесци савета пажљиво се прегледају пре објављивања. Хвала што сте послали савет на преглед!