IRC botini qanday rivojlantirish mumkin: 12 qadam (rasmlar bilan)

Mundarija:

IRC botini qanday rivojlantirish mumkin: 12 qadam (rasmlar bilan)
IRC botini qanday rivojlantirish mumkin: 12 qadam (rasmlar bilan)

Video: IRC botini qanday rivojlantirish mumkin: 12 qadam (rasmlar bilan)

Video: IRC botini qanday rivojlantirish mumkin: 12 qadam (rasmlar bilan)
Video: 1 kunda Google qidiruvidan $2000 ishlash | Google Qidiruvdan pul ishlash 2022 2024, Aprel
Anonim

Agar siz Internet -Relay Chat (IRC) da bo'lgan bo'lsangiz, ehtimol siz biron bir vaqtda botni uchratgan bo'lasiz. Botlar - bu mustaqil ravishda ishlaydigan dasturlar yoki skriptlar, ular odamniki kabi tarmoqqa ulanadi. Ularni foydalanuvchi buyruqlariga javob berish yoki hatto suhbatlashish uchun dasturlash mumkin. Ushbu qo'llanmada siz IRC botini yaratish uchun qanday variantlarni topishingiz mumkin, shuningdek uni noldan qanday qurish mumkin.

Qadamlar

2 -ning 1 -usuli: variantlarni baholash

IRC Bot -ni ishlab chiqish 1 -qadam
IRC Bot -ni ishlab chiqish 1 -qadam

Qadam 1. Mijoz skriptini o'rnatishni o'ylab ko'ring

Ba'zida siz oddiy vazifani bajarishni xohlaysiz va uning mustaqil dastur bo'lishini xohlamaysiz. Bunday holda siz IRC mijoziga skriptni biriktirishingiz mumkin. Bu kuchli skript dvigateli va mavjud skriptlarning keng assortimentiga ega bo'lgan mIRC bilan bog'liq. Bu eng oson variant va agar sizda ko'p dasturlash tajribasi bo'lmasa. Qo'llanmaning qolgan qismi uchun ko'rsatmalarni bajarish uchun kompyuter dasturlash bo'yicha ba'zi bilimlar talab qilinadi.

IRC Bot -ni ishlab chiqish 2 -qadam
IRC Bot -ni ishlab chiqish 2 -qadam

Qadam 2. Sizning botingiz uchun oldindan mavjud bo'lgan ma'lumotlar bazasini ko'rib chiqing

O'zingizning shaxsiy botingizni tezda o'rnatishga yordam beradigan ko'plab ochiq manbali va bepul dasturlar mavjud. Misollardan biri - Eggdrop, eng qadimgi ARM boti.

ARM Botini ishlab chiqish 3 -qadam
ARM Botini ishlab chiqish 3 -qadam

3 -qadam. O'z botingizni yozishni o'ylab ko'ring

Ilg'or ARM foydalanuvchilari va dasturlash tilini biladigan ishlab chiquvchilar uchun bu ajoyib variant. Soket qo'llab -quvvatlansa, siz xohlagan tilni ishlatishingiz mumkin, lekin mashhur bo'lganlar orasida Python, Lua, PHP, C va Perl kiradi. Agar siz ulardan hech birini bilmasangiz, lekin boshqa tilni bilsangiz, bu muammo emas. Odatda Internetda siz xohlagan tilda misollar topishingiz mumkin. Ushbu maqola uchun biz PHP -dan foydalanishni ko'rsatamiz. PHP-dan foydalanish uchun kompyuter yoki serverda PHP-CLI o'rnatilgan bo'lishi kerak.

  • PHP -ni php.net saytidan yuklab olish mumkin
  • PHP skriptlari buyruq satridan bajarilishi mumkin. Qo'shimcha ma'lumot va PHP -dan foydalanish bo'yicha yordam uchun PHP qo'llanmasiga qarang.

2 -dan 2 -usul: O'z botingizni rivojlantirish

ARM Botini ishlab chiqish 4 -qadam
ARM Botini ishlab chiqish 4 -qadam

Qadam 1. Ulanish tafsilotlarini to'plang

Tarmoqqa muvaffaqiyatli ulanish uchun siz quyidagi ma'lumotlarni olishingiz kerak bo'ladi.

  • Server: IRC -ga ulanish uchun ishlatiladigan serverning domen nomi, masalan

    chat.freenode.net

  • Port: Ko'p hollarda, bu 6667, lekin ishonchingiz komil bo'lmasa, o'zingizning IRC mijozingizni yoki tarmoq veb -saytini tekshiring.
  • Taxallus: Sizning botingiz foydalanishi kerak bo'lgan taxallus. Shuni yodda tutingki, ba'zi maxsus belgilarga odatda ruxsat berilmaydi (@#! ~).
  • Ident: Kimdir WHOISni shunday bajarganida, identifikator maydoni taxallusdan keyin paydo bo'ladi:

    taxallus! ident@hostname

  • GECOS: Bu maydon odatda foydalanuvchining haqiqiy ismini yoki botning umumiy tavsifini o'z ichiga oladi, lekin siz xohlagan narsangizni u erga qo'yishingiz mumkin.
  • Kanal: Siz odatda botingiz bir yoki bir nechta kanalda bo'lishini xohlaysiz. Aksariyat tarmoqlarda ular "#" bilan belgilanadi, lekin bu boshqa narsa bo'lishi mumkin.
ARM Botini ishlab chiqish 5 -qadam
ARM Botini ishlab chiqish 5 -qadam

Qadam 2. Skriptingizdagi konfiguratsiyani boshlang

Buning eng asosiy usuli - yuqoridagi konfiguratsiya nomlari bo'yicha bir nechta o'zgaruvchini nomlash. Siz ularni konfiguratsiya faylida saqlashingiz va ularni tahlil qilishingiz mumkin, lekin hozircha biz mutlaq ehtiyojlar bilan qolamiz.

IRC Bot -ni ishlab chiqish 6 -qadam
IRC Bot -ni ishlab chiqish 6 -qadam

Qadam 3. Tarmoqqa ulaning

Buni amalga oshirish uchun serverga ko'rsatilgan portda rozetkani ochish kerak bo'ladi. Agar biron -bir sababga ko'ra aloqa uzilib qolsa, bu qismga xato bilan ishlash kodini qo'shishingiz kerak. Bunday holda, PHP xatoni samarali hal qilish uchun bizga bir nechta aniq funktsiyalarni taqdim etadi.

IRC Bot -ni ishlab chiqish 7 -qadam
IRC Bot -ni ishlab chiqish 7 -qadam

4 -qadam. Botingizni ro'yxatdan o'tkazing

Bu sizning taxallusingizni, identifikatoringizni va GECOS -ni serverga etkazib berishni anglatadi, NickServ -da ro'yxatdan o'tmaydi. Buning uchun serverga NICK va USER buyruqlarini yozing, so'ngra vagonni qaytarish va yangi qator. Buni aynan ko'rsatilgandek bajarish juda muhim, chunki bu RFC1459 da, IRC protokoli spetsifikatsiyasida ko'rsatilgan.

E'tibor bering, o'rta ikkita parametr (bu holda * va 8) ko'rsatilishi kerak, lekin ular server tomonidan e'tiborga olinmaydi. Bu ikkalasi faqat bog'langan serverlar o'rtasida ishlatiladi, to'g'ridan -to'g'ri bog'laydigan mijoz emas

IRC Bot -ni ishlab chiqish 8 -qadam
IRC Bot -ni ishlab chiqish 8 -qadam

Qadam 5. Loop yordamida ma'lumotlarni rozetkadan olishni davom ettiring

Agar siz loop ishlatmagan bo'lsangiz, sizning skriptingiz darhol tugaydi va bot asosan foydasiz bo'ladi. Aloqada bo'lish uchun siz serverdan ma'lumotlarni olishingiz, kerakli oqimdagi kirishni tekshirishingiz va agar shunday bo'lsa, unga javob berishingiz kerak. Bu erda biz ma'lumotni olish uchun socket_read () yordamida ma'lumotlarni olamiz. Agar shunday bo'lsa, biz hamma narsani hal qilishda davom etamiz. Xom ma'lumotlarni konsolda chiqarish ham foydali bo'lishi mumkin, shunda nima bo'layotganini bot nuqtai nazaridan ko'rish mumkin.

IRC Bot -ni ishlab chiqish 9 -qadam
IRC Bot -ni ishlab chiqish 9 -qadam

Qadam 6. Ping ishlovchilarini yozing

Bu muhim. Agar siz pinglarga o'z vaqtida javob bermasangiz, server sizni uzib qo'yadi. Keling, birinchi navbatda bu haqda g'amxo'rlik qilaylik. Ping serverdan yuborilganda shunday ko'rinadi:

PING: rajaniemi.freenode.net

. Server o'z nomini ':' belgisidan keyin qo'yishi shart emas, u xohlagan narsani etkazib berishi mumkin. Siz * PONGdan tashqari, server aytgan so'zlarni qaytarishingiz kerak.

IRC Bot -ni ishlab chiqish 10 -qadam
IRC Bot -ni ishlab chiqish 10 -qadam

7 -qadam. Kanallaringizga qo'shiling

Yaxshi, shuning uchun bizda tarmoqqa ulanadigan va pinglarga javob beradigan, lekin aks holda hech narsa qilmaydigan bot bor. Odamlar sizning botingizni ko'rishi va ishlatishi uchun u kanalda bo'lishi kerak (aks holda siz uni shaxsiy xabarlarga javob berishini aytishingiz kerak).

  • Buning uchun biz 376 yoki 422 server holat kodlarini tekshiramiz. 376 MOTD (kun xabari) tugaganligini bildiradi. 422 degani, yuborish uchun MOTD yo'q edi. Bu MOTD - bu siz ulanganingizda server yuboradigan narsa, lekin bu biz kanallarga qo'shilishni qachon boshlashimiz uchun yaxshi ko'rsatkich.
  • Siz JOIN buyrug'ini berishingiz kerak. Bu buyruqni vergul bilan ajratilgan bir yoki bir nechta kanallar bajarishi mumkin.
  • E'tibor bering, server yuborgan ma'lumotlar bo'shliqlar bilan ajratilgan. Shunday qilib, biz ma'lumotlarni ajratishimiz va unga massiv indeksi yordamida havola qilishimiz mumkin.
IRC Bot -ni ishlab chiqish 11 -qadam
IRC Bot -ni ishlab chiqish 11 -qadam

Qadam 8. Kanal xabarlariga javob bering

Endi qiziqarli qism uchun. Sizning botingiz kanalga qo'shildi, shuning uchun endi siz xohlagan narsangizdan foydalanishingiz mumkin. @Moo deb nomlangan misol buyrug'ini yarataylik.

  • Xabarlar boshlanadigan ofsetga e'tibor bering (bu kanallarga ham, shaxsiy xabarlarga ham tegishli). U har doim bir joyda.
  • To'plangan ma'lumotlarni birlashtirish ($ d) orqali siz bo'sh joyli buyruqlarni boshqarishingiz mumkin. Bu maqola doirasidan tashqarida.
  • Agar maqsad kanal bo'lsa (masalan, #botters-test), siz bunga javob berasiz. Agar bu shaxsiy xabar bo'lsa, bu bit sizning botingizning taxallusi bo'ladi! Keyin siz o'zingizniki emas, balki jo'natuvchining taxallusi bilan javob berishingiz kerak (aks holda siz o'zingiz bilan gaplashasiz va bu ahmoqlik).
IRC Bot -ni ishlab chiqish 12 -qadam
IRC Bot -ni ishlab chiqish 12 -qadam

Qadam 9. Botingizni kengaytiring

Yuqoridagi dastur yordamida siz ko'plab yangi xususiyatlarni qo'shishingiz mumkin. IRC tarmog'iga berilishi mumkin bo'lgan boshqa ko'plab buyruqlar mavjud, masalan, operatsiyalarni boshqarish, tepish va taqiqlash, mavzuni sozlash va boshqa ko'plab funktsiyalar.

Maslahatlar

  • Siz "/me" buyrug'ining natijasini xabarlaringizga shunday prefiks qo'yishingiz mumkin:

    • PRIVMSG #kanali: / 001AQSIYAT matni bu erda / 001.
    • 001 ASCII 1 belgisini bildiradi va PHP -ning ikki tirnoqli satrida shunday talqin qilinadi. Shu bilan bir qatorda, foydalanishingiz mumkin

      chr (1)

    • ipdan tashqarida.
  • Ranglarni xabarda "\ 003" (ASCII kodi 3) oldidan, so'ngra rang uchun raqam qo'yish orqali ishlab chiqarish mumkin. 0 = oq, 1 = qora, 2 = ko'k, 3 = yashil, 4 = qizil […]. Ko'proq ranglar uchun mIRC sahifasiga qarang.
  • Xushmuomalalik sifatida, botingizni Internetga joylashtirishdan oldin kanal egalari va IRC operatorlarining roziligini oling. Hamma tarmoqlar va kanallarda ham botlarga, hatto o'zini yaxshi tutganlarga ham xush kelibsiz siyosat yo'q.
  • Ba'zi IRC demonlari protokol spetsifikatsiyalaridan tashqariga chiqadi va boshqa funktsiyalarni amalga oshiradi. Agar siz uni ma'lum bir tarmoq uchun tayyorlayotgan bo'lsangiz, ularning protokoli haqida bilsangiz, albatta bu xususiyatlardan foydalanishingiz mumkin. Agar siz botingiz bir nechta tarmoqlarda joylashishini xohlasangiz, uni RFC tarkibidagi narsalarga saqlashga harakat qiling.

Tavsiya: