IRC Botunu necə inkişaf etdirmək olar: 12 addım (şəkillərlə)

Mündəricat:

IRC Botunu necə inkişaf etdirmək olar: 12 addım (şəkillərlə)
IRC Botunu necə inkişaf etdirmək olar: 12 addım (şəkillərlə)

Video: IRC Botunu necə inkişaf etdirmək olar: 12 addım (şəkillərlə)

Video: IRC Botunu necə inkişaf etdirmək olar: 12 addım (şəkillərlə)
Video: İNSTAGRAMDA 8 QAYDA İLƏ SƏHİFƏ BÖYÜTMƏ 10K (PANELSİZ VƏ HİYLƏSİZ 100% QARANTİ) 2024, Mart
Anonim

İnternet Relay Chat -da (IRC) olmusunuzsa, çox güman ki, bir nöqtədə bir botla qarşılaşmısınız. Botlar, bir insanın olduğu kimi bir şəbəkəyə bağlanan müstəqil proqramlar və ya skriptlərdir. İstifadəçi əmrlərinə cavab vermək və ya hətta söhbət etmək üçün proqramlaşdırıla bilərlər. Bu təlimatda, IRC botu qurmaq üçün seçimlərinizi və sıfırdan necə qurulacağını tapa bilərsiniz.

Addımlar

Metod 1 /2: Seçimlərin qiymətləndirilməsi

IRC Bot inkişaf etdirin Addım 1
IRC Bot inkişaf etdirin Addım 1

Addım 1. Bir müştəri skriptinin quraşdırılmasını düşünün

Bəzən sadə bir işin yerinə yetirilməsini istəyirsən və müstəqil bir proqram olmasını istəmirsən. Bu vəziyyətdə, bir IRC müştərisinə bir skript əlavə edə bilərsiniz. Bu, möhkəm bir skript mühərrikinə və çox sayda mövcud skriptə malik olan mIRC ilə etmək olduqca yaygındır. Bu ən asan seçimdir və çox və ya hər hansı bir proqramlaşdırma təcrübəniz yoxdursa çox tövsiyə olunur. Bu təlimatın qalan hissəsi üçün təlimatlara riayət etmək üçün kompüter proqramlaşdırması haqqında bəzi biliklər lazımdır.

Bir IRC Botu hazırlayın Adım 2
Bir IRC Botu hazırlayın Adım 2

Addım 2. Botunuz üçün əvvəlcədən mövcud olan bir kod bazasını nəzərdən keçirin

Xüsusi botunuzu tez bir zamanda qurmağa kömək edə biləcək bir çox açıq mənbə və pulsuz proqram var. Belə bir nümunə, hələ də saxlanılan ən qədim IRC botu olan Eggdropdur.

Bir IRC Botu hazırlayın Adım 3
Bir IRC Botu hazırlayın Adım 3

Addım 3. Öz botunuzu yazmağı düşünün

İnkişaf etmiş IRC istifadəçiləri və proqramlaşdırma dilini artıq bilən inkişaf etdiricilər üçün bu əla seçimdir. Soket dəstəyi olduğu müddətdə istədiyiniz hər hansı bir dildən istifadə edə bilərsiniz, lakin populyar olanlar arasında Python, Lua, PHP, C və Perl var. Bunlardan heç birini bilmirsinizsə, amma başqa bir dil bilirsinizsə, bu problem deyil. Ümumiyyətlə vebdə istədiyiniz dildə nümunələr tapa bilərsiniz. Bu məqalə üçün PHP istifadə edəcəyimizi nümayiş etdirəcəyik. PHP-dən istifadə etmək üçün kompüterinizdə və ya serverinizdə PHP-CLI yüklü olmalısınız.

  • PHP php.net saytından yüklənə bilər
  • PHP skriptləri əmr satırından icra oluna bilər. Əlavə məlumat və PHP istifadə etmək üçün bu PHP təlimat səhifəsinə baxın.

Metod 2 /2: Öz Botunuzu İnkişaf etdirin

Bir IRC Botu hazırlayın Adım 4
Bir IRC Botu hazırlayın Adım 4

Addım 1. Bağlantı detallarını toplayın

Şəbəkəyə uğurla qoşulmaq üçün aşağıdakı məlumatları əldə etməlisiniz.

  • Server: IRC -yə qoşulmaq üçün istifadə olunan serverin domen adı

    chat.freenode.net

  • Liman: Əksər hallarda bu 6667 -dir, amma əmin deyilsinizsə, öz IRC müştərinizi və ya şəbəkənin veb saytını yoxlayın.
  • Ləqəb: Botunuzun istifadə etməli olduğu ləqəb. Bəzi xüsusi simvollara ümumiyyətlə icazə verilmədiyini unutmayın (@#! ~).
  • Ident: Kimsə belə bir WHOIS həyata keçirəndə, identifikasiya sahəsi ləqəbdən sonra görünür:

    ləqəb! ident@hostname

  • GECOS: Bu sahədə adətən bir istifadəçinin əsl adı və ya botun ümumi təsviri var, ancaq istədiyinizi ora yerləşdirə bilərsiniz.
  • Kanal: Adətən botunuzun bir və ya daha çox kanalda olmasını istəyirsiniz. Əksər şəbəkələrdə bunlara '#' prefiksi qoyulur, amma başqa bir şey ola bilər.
Bir IRC Botu hazırlayın Adım 5
Bir IRC Botu hazırlayın Adım 5

Addım 2. Skriptinizdə konfiqurasiyanı başladın

Bunun ən əsas yolu yuxarıdakı konfiqurasiya adlarına uyğun olaraq bir neçə dəyişənin adlandırılmasıdır. Onları bir konfiqurasiya faylında saxlaya və təhlil edə bilərsiniz, ancaq hələlik mütləq ehtiyacları yerinə yetirəcəyik.

Bir IRC Botu hazırlayın Adım 6
Bir IRC Botu hazırlayın Adım 6

Addım 3. Şəbəkəyə qoşulun

Bunu etmək üçün, göstərilən portdakı serverə bir yuva açmalısınız. Əlaqənin hər hansı bir səbəbdən uğursuz olması halında bu hissəyə bəzi səhv işləmə kodu da əlavə etməlisiniz. Bu vəziyyətdə, PHP bizə səhvləri effektiv şəkildə həll etmək üçün bəzi səliqəli funksiyalar təqdim edir.

IRC Bot hazırlayın Addım 7
IRC Bot hazırlayın Addım 7

Addım 4. Botunuzu qeydiyyatdan keçirin

Bu, NickServ -də qeydiyyatdan keçmədən, ləqəbinizin, identifikasiyanızın və GECOS -un serverə verilməsi deməkdir. Bunu etmək üçün serverə NICK və USER əmrlərini yazın, ardınca bir vaqon geri dönmə və yeni xətt. Bunu tam olaraq göstərildiyi kimi etməyiniz vacibdir, çünki IRC protokolunun spesifikasiyası olan RFC1459 -da belədir.

Nəzərə alın ki, orta iki parametr (bu halda * və 8) göstərilməlidir, lakin onlar server tərəfindən nəzərə alınmır. Bu ikisi birbaşa əlaqəli müştəri tərəfindən deyil, yalnız bağlı serverlər arasında istifadə olunur

Bir IRC Bot Adım 8 hazırlayın
Bir IRC Bot Adım 8 hazırlayın

Addım 5. Bir döngə istifadə edərək məlumatları yuvadan əldə etməyə davam edin

Bir döngə istifadə etməsəniz, skriptiniz dərhal dayandırılacaq və bot əsasən yararsız olacaq. Bağlı qalmaq üçün serverdən məlumat götürmək, istədiyiniz axında hər hansı bir giriş olub olmadığını yoxlamaq və əgər varsa cavab vermək lazımdır. Burada, əldə edə biləcəyimiz hər hansı bir məlumatı əldə etmək üçün socket_read () istifadə edərək məlumatları alırıq. Varsa, döngədə olan hər şeyi etməyə davam edirik. Xam məlumatları konsola çıxarmaq da faydalı ola bilər ki, botun baxımından nələrin baş verdiyini görə biləsiniz.

Bir IRC Botu hazırlayın Adım 9
Bir IRC Botu hazırlayın Adım 9

Addım 6. Ping işləyicisi yazın

Bu vacibdir. Pinglərə vaxtında cavab verməsəniz, server əlaqənizi kəsəcək. Gəlin əvvəlcə bununla maraqlanaq. Pinglər serverdən göndərildikdə belə görünür:

PING: rajaniemi.freenode.net

. Serverin adını ':' işarəsindən sonra qoymaq məcburiyyətində deyil, istədiyini təmin edə bilər. PONG istifadə etməmək istisna olmaqla, serverin dediklərini tam olaraq təkrarlamalısınız.

Bir IRC Botu hazırlayın Adım 10
Bir IRC Botu hazırlayın Adım 10

Addım 7. Kanallarınıza qoşulun

Tamam, buna görə şəbəkəyə qoşulan və pinqlərə cavab verən, amma başqa heç nə etməyən bir botumuz var. İnsanların botunuzu görməsi və istifadə etməsi üçün kanalda olmalıdır (əks halda şəxsi mesajlara cavab verməsini söyləməlisiniz).

  • Bunu etmək üçün 376 və ya 422 server status kodlarını yoxlayacağıq. 376, MOTD (günün mesajı) bitmiş deməkdir. 422 göndərmək üçün heç bir MOTD olmadığı deməkdir. Bu MOTD, server qoşulduqda göndərdiyi bir şeydir, ancaq kanallara qoşulmağa başlaya biləcəyimiz üçün yaxşı bir göstəricidir.
  • JOIN əmrini verməlisiniz. Bu əmri vergüllə ayrılmış bir və ya daha çox kanal izləyə bilər.
  • Serverin göndərdiyi məlumatların boşluqlarla rahat şəkildə ayrıldığına diqqət yetirin. Bu şəkildə məlumatları bölmək və bir sıra indeksi istifadə edərək ona istinad edə bilərik.
IRC Botunu hazırlayın Addım 11
IRC Botunu hazırlayın Addım 11

Addım 8. Kanal mesajlarına cavab verin

İndi əyləncəli hissəyə. Botunuz kanala qoşuldu, buna görə də indi istədiyiniz kimi istifadə edə bilərsiniz. @Moo adlı bir nümunə əmri yaradaq.

  • Mesajların başladığı ofseti qeyd edin (bu həm kanallara, həm də şəxsi mesajlara aiddir). Həmişə eyni yerdədir.
  • Yığılmış məlumatları ($ d) yenidən birləşdirərək boşluqları olan əmrləri idarə edə bilərsiniz. Bu məqalənin əhatə dairəsindən kənardır.
  • Hədəf bir kanaldırsa (məsələn #botters-testi), buna cavab verirsiniz. Şəxsi bir mesajdırsa, bu bit botunuzun ləqəbi olacaq! Daha sonra sizin deyil, göndərənin ləqəbini istifadə edərək cavab verməlisiniz (əks halda özünüzlə danışacaqsınız və bu sadəcə axmaqlıqdır).
Bir IRC Bot hazırlayın Addım 12
Bir IRC Bot hazırlayın Addım 12

Addım 9. Botunuzu genişləndirin

Yuxarıdakı tətbiqdən istifadə edərək bir çox yeni xüsusiyyət əlavə edə bilərsiniz. IRC şəbəkəsinə verilə biləcək bir çox başqa əmr var, məsələn, əməliyyatları idarə etmək, təpikləmək və qadağan etmək, mövzunu təyin etmək və digər xüsusiyyətlər.

İpuçları

  • Mesajlarınızı belə bir ön sözlə yazaraq "/me" əmrinin nəticəsini çıxara bilərsiniz:

    • PRIVMSG #kanalı: / 001 ƏMƏLİYYAT mətni burda / 001.
    • 001, ASCII xarakter 1 deməkdir və ikiqat sitatlı PHP sətirində belə şərh ediləcək. Alternativ olaraq istifadə edə bilərsiniz

      chr (1)

    • telin xaricində.
  • Rənglər, "\ 003" (ASCII kodu 3) və sonra bir rəng üçün bir rəqəm əlavə etməklə bir mesajda istehsal edilə bilər. 0 = ağ, 1 = qara, 2 = mavi, 3 = yaşıl, 4 = qırmızı […]. Daha çox rəng üçün mIRC səhifəsinə baxın.
  • Nəzakət olaraq, botunuzu internetə qoymadan əvvəl kanal sahiblərinin və IRC operatorlarının razılığını alın. Bütün şəbəkələr və kanallar botlara, hətta yaxşı davrananlara qarşı xoş bir siyasət yürütmür.
  • Bəzi IRC daemonları protokolun xüsusiyyətlərindən kənara çıxır və digər funksiyaları həyata keçirir. Xüsusi bir şəbəkə üçün hazırlayırsınızsa, protokollarını bilirsinizsə, əlbəttə ki, bu xüsusiyyətlərdən istifadə edə bilərsiniz. Botunuzun bir neçə şəbəkədə yerləşdirilməsini istəyirsinizsə, onu RFC -də olanlara saxlamağa çalışın.

Tövsiyə: