Cara Membangunkan Bot IRC: 12 Langkah (dengan Gambar)

Isi kandungan:

Cara Membangunkan Bot IRC: 12 Langkah (dengan Gambar)
Cara Membangunkan Bot IRC: 12 Langkah (dengan Gambar)

Video: Cara Membangunkan Bot IRC: 12 Langkah (dengan Gambar)

Video: Cara Membangunkan Bot IRC: 12 Langkah (dengan Gambar)
Video: Cara Verifikasi Email Pemulihan Akun Google 2024, Mac
Anonim

Sekiranya anda pernah menggunakan Internet Relay Chat (IRC), kemungkinan anda pernah menemui bot pada suatu ketika. Bot adalah program atau skrip bebas yang menyambung ke rangkaian dengan cara yang sama seperti yang dilakukan oleh manusia. Mereka dapat diprogram untuk menanggapi perintah pengguna atau bahkan berbual. Dalam panduan ini, anda dapat mengetahui pilihan anda untuk membina bot IRC dan juga cara membuatnya dari awal.

Langkah-langkah

Kaedah 1 dari 2: Menilai Pilihan

Kembangkan IRC Bot Langkah 1
Kembangkan IRC Bot Langkah 1

Langkah 1. Pertimbangkan untuk memasang skrip pelanggan

Kadang-kadang anda hanya mahukan tugas mudah dilakukan dan tidak mahu ia menjadi program bebas. Sekiranya demikian, anda boleh melampirkan skrip ke klien IRC. Ini cukup umum dilakukan dengan mIRC, yang mempunyai mesin skrip yang kuat dan pelbagai skrip yang tersedia. Ini adalah pilihan paling mudah dan sangat disyorkan jika anda tidak mempunyai banyak atau pengalaman pengaturcaraan. Selebihnya dari panduan ini, arahan memerlukan beberapa pengetahuan mengenai pengaturcaraan komputer untuk diikuti.

Kembangkan IRC Bot Langkah 2
Kembangkan IRC Bot Langkah 2

Langkah 2. Pertimbangkan pangkalan data yang sudah ada untuk bot anda

Terdapat banyak program sumber terbuka dan percuma yang dapat membantu anda menyiapkan bot khusus anda dengan cepat. Salah satu contohnya ialah Eggdrop, bot IRC tertua yang masih dikekalkan.

Kembangkan IRC Bot Langkah 3
Kembangkan IRC Bot Langkah 3

Langkah 3. Pertimbangkan untuk menulis bot anda sendiri

Bagi pengguna dan pembangun IRC lanjutan yang sudah mengetahui cara bahasa pengaturcaraan, ini adalah pilihan yang bagus. Anda boleh menggunakan hampir semua bahasa yang anda mahukan selagi ia mempunyai sokongan soket, tetapi yang popular untuk digunakan termasuk Python, Lua, PHP, C, dan Perl. Sekiranya anda tidak mengetahui apa-apa tetapi anda tahu bahasa lain, itu tidak menjadi masalah. Anda biasanya dapat mencari contoh di web dalam bahasa yang anda mahukan. Untuk artikel ini, kami akan menunjukkan penggunaan PHP. Untuk menggunakan PHP, anda perlu memasang PHP-CLI pada komputer atau pelayan anda.

  • PHP boleh dimuat turun dari php.net
  • Skrip PHP dapat dijalankan dari baris perintah. Untuk maklumat tambahan dan bantuan menggunakan PHP, lihat halaman manual PHP ini.

Kaedah 2 dari 2: Membangun Bot Sendiri

Kembangkan IRC Bot Langkah 4
Kembangkan IRC Bot Langkah 4

Langkah 1. Kumpulkan perincian sambungan

Anda perlu mendapatkan maklumat berikut untuk berjaya menyambung ke rangkaian.

  • Pelayan: Nama domain pelayan yang digunakan untuk menyambung ke IRC, seperti

    sembang.freenode.net

  • Pelabuhan: Dalam kebanyakan kes, ini adalah 6667, tetapi jika anda tidak pasti, periksa pelanggan IRC anda sendiri atau laman web rangkaian.
  • Nama Panggilan: Nama panggilan bot anda harus gunakan. Perlu diingat bahawa beberapa watak khas biasanya tidak dibenarkan (@ #! ~).
  • Ident: Medan ident muncul selepas nama panggilan ketika seseorang melakukan WHOIS seperti ini:

    nama samaran! ident @ nama host

  • GECOS: Medan ini biasanya mengandungi nama sebenar pengguna atau keterangan umum bot tetapi anda boleh meletakkan apa sahaja yang anda mahukan di sana.
  • Saluran: Anda biasanya mahu bot anda ada dalam satu atau lebih saluran. Di kebanyakan rangkaian, ini diawali dengan '#' tetapi mungkin ada yang lain.
Kembangkan IRC Bot Langkah 5
Kembangkan IRC Bot Langkah 5

Langkah 2. Memulakan konfigurasi dalam skrip anda

Cara paling asas untuk melakukan ini adalah dengan menamakan beberapa pemboleh ubah mengikut nama konfigurasi di atas. Anda juga boleh menyimpannya dalam fail konfigurasi dan menguraikannya, tetapi buat masa ini kami hanya akan memenuhi keperluan mutlak.

Kembangkan IRC Bot Langkah 6
Kembangkan IRC Bot Langkah 6

Langkah 3. Sambungkan ke rangkaian

Untuk melakukan ini, anda perlu membuka soket ke pelayan pada port yang ditentukan. Anda juga harus menambahkan beberapa kod pengendalian ralat di bahagian ini sekiranya sambungannya gagal atas sebab apa pun. Dalam kes ini, PHP memberikan kita beberapa fungsi yang rapi untuk menangani kesalahan dengan berkesan.

Kembangkan IRC Bot Langkah 7
Kembangkan IRC Bot Langkah 7

Langkah 4. Daftarkan bot anda

Ini bermaksud memberikan nama samaran, ident, dan GECOS anda ke pelayan, tidak mendaftar dengan NickServ. Untuk melakukan ini, tulis sahaja arahan NICK dan USER ke pelayan, diikuti dengan pengembalian kereta dan barisan baru. Anda mesti melakukannya tepat seperti yang ditunjukkan, kerana itulah yang ditentukan dalam RFC1459, spesifikasi untuk protokol IRC.

Perhatikan bahawa dua parameter tengah (dalam kes ini, * dan 8) mesti ditentukan, tetapi tidak diendahkan oleh pelayan. Kedua-duanya hanya digunakan antara pelayan yang dipautkan, bukan oleh pelanggan yang menghubungkan secara langsung

Kembangkan IRC Bot Langkah 8
Kembangkan IRC Bot Langkah 8

Langkah 5. Terus mengambil data dari soket menggunakan gelung

Sekiranya anda tidak menggunakan gelung, skrip anda akan segera dihentikan dan bot pada dasarnya tidak akan berguna. Untuk terus berhubung, anda harus mengambil data dari pelayan, periksa apakah ada input dalam aliran yang anda inginkan, dan balas jika ya. Di sini, kami mengambil data menggunakan socket_read () untuk mengambil data yang tersedia untuk kami. Sekiranya ada, kami terus melakukan apa sahaja yang perlu dilakukan. Mungkin bermanfaat untuk mengeluarkan data mentah ke konsol supaya anda dapat melihat apa yang berlaku dari perspektif bot.

Kembangkan IRC Bot Langkah 9
Kembangkan IRC Bot Langkah 9

Langkah 6. Tulis penangan ping

Ini sangat penting. Sekiranya anda tidak menjawab ping tepat pada masanya, pelayan akan memutuskan sambungan anda. Mari selesaikannya terlebih dahulu. Ping kelihatan seperti ini semasa dihantar dari pelayan:

PING: rajaniemi.freenode.net

. Pelayan tidak perlu meletakkan namanya setelah ':', ia dapat menyediakan apa sahaja yang diinginkan. Anda * mesti * mengulangi apa yang dikatakan pelayan, kecuali menggunakan PONG.

Kembangkan IRC Bot Langkah 10
Kembangkan IRC Bot Langkah 10

Langkah 7. Sertailah saluran anda

Baiklah, jadi kami mempunyai bot yang menghubungkan ke rangkaian dan bertindak balas terhadap ping, tetapi sebaliknya tidak melakukan apa-apa. Agar orang dapat melihat dan menggunakan bot anda, ia mesti ada di saluran (jika tidak, anda harus memintanya untuk membalas mesej peribadi).

  • Untuk melakukan ini, kami akan memeriksa kod status pelayan 376 atau 422. 376 bermaksud MOTD (mesej hari ini) selesai. 422 bermaksud tidak ada MOTD untuk dihantar. MOTD itu hanyalah sesuatu yang dihantar oleh pelayan semasa anda menyambung, tetapi ini adalah petunjuk yang baik untuk kapan kita dapat mula bergabung dengan saluran.
  • Anda perlu mengeluarkan arahan JOIN. Perintah ini boleh diikuti oleh satu atau lebih saluran yang dipisahkan dengan koma.
  • Perhatikan bahawa data yang dihantar pelayan dibatasi dengan ruang. Dengan cara ini kita dapat membahagikan data dan merujuknya menggunakan indeks array.
Kembangkan IRC Bot Langkah 11
Kembangkan IRC Bot Langkah 11

Langkah 8. Balas mesej saluran

Sekarang untuk bahagian yang menyeronokkan. Bot anda bergabung dengan saluran, jadi sekarang anda boleh menggunakannya untuk apa yang anda mahukan. Mari buat contoh arahan yang dipanggil @moo.

  • Perhatikan offset di mana mesej bermula (ini berlaku untuk saluran dan mesej peribadi). Ia selalu berada di tempat yang sama.
  • Anda boleh mengendalikan perintah dengan ruang di dalamnya dengan menyambungkan data yang dikumpulkan kembali ($ d). Itu diluar skop artikel ini.
  • Sekiranya sasarannya adalah saluran (seperti # botters-test), maka anda membalasnya. Sekiranya ia adalah mesej peribadi, bit ini akan menjadi nama panggilan bot anda! Anda kemudian mesti membalas menggunakan nama panggilan pengirim, bukan nama anda (jika tidak, anda akan bercakap dengan diri sendiri, dan itu hanya bodoh).
Kembangkan IRC Bot Langkah 12
Kembangkan IRC Bot Langkah 12

Langkah 9. Panjangkan bot anda

Anda boleh menambahkan banyak ciri baru menggunakan pelaksanaan di atas. Ada banyak perintah lain yang dapat dikeluarkan ke jaringan IRC, seperti mengatur operasi, menendang dan melarang, mengatur topik, di antara banyak fitur lain.

Petua

  • Anda boleh menghasilkan hasil arahan "/ saya" dengan awalan mesej anda seperti ini:

    • PRIVMSG #channel: / 001TINDAKAN teks di sini / 001.
    • 001 bermaksud watak ASCII 1 dan akan ditafsirkan sedemikian dalam rentetan PHP yang disebut dua kali. Sebagai alternatif, anda boleh menggunakan

      chr (1)

    • di luar tali.
  • Warna dapat dihasilkan dalam pesan dengan awalan "\ 003" (kod ASCII 3) diikuti dengan angka untuk warna. 0 = putih, 1 = hitam, 2 = biru, 3 = hijau, 4 = merah […]. Lihat halaman mIRC untuk lebih banyak warna.
  • Sebagai penghargaan, dapatkan persetujuan pemilik saluran dan pengendali IRC sebelum membawa bot anda dalam talian. Tidak semua rangkaian dan saluran mempunyai dasar selamat datang terhadap bot, bahkan yang berkelakuan baik.
  • Beberapa daemon IRC melampaui spesifikasi protokol dan melaksanakan ciri-ciri lain. Sekiranya anda menyiapkan rangkaian tertentu, anda pasti boleh menggunakan ciri tersebut sekiranya anda mengetahui tentang protokolnya. Sekiranya anda ingin bot anda dikerahkan di beberapa rangkaian, cobalah untuk menyimpannya pada apa yang ada di RFC.

Disyorkan: