Cara Mengembangkan Bot IRC: 12 Langkah (dengan Gambar)

Daftar Isi:

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

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

Video: Cara Mengembangkan Bot IRC: 12 Langkah (dengan Gambar)
Video: AKUN BERHASIL BALIK PAKE FORMULIR BARU! Cara Mengembalikan Akun Facebook 2023 2024, April
Anonim

Jika Anda pernah menggunakan Internet Relay Chat (IRC), kemungkinan Anda pernah menemukan bot di beberapa titik. Bot adalah program atau skrip independen yang terhubung ke jaringan dengan cara yang sama seperti yang dilakukan manusia. Mereka dapat diprogram untuk menanggapi perintah pengguna atau bahkan mengobrol. Dalam panduan ini, Anda dapat menemukan pilihan Anda untuk membuat bot IRC serta cara membuatnya dari awal.

Langkah

Metode 1 dari 2: Mengevaluasi Opsi

Kembangkan Bot IRC Langkah 1
Kembangkan Bot IRC Langkah 1

Langkah 1. Pertimbangkan untuk menginstal skrip klien

Terkadang Anda hanya ingin tugas sederhana selesai dan tidak ingin itu menjadi program independen. Dalam hal ini, Anda dapat melampirkan skrip ke klien IRC. Ini cukup umum untuk dilakukan dengan mIRC, yang memiliki mesin skrip yang kuat dan beragam skrip yang tersedia. Ini adalah opsi termudah dan sangat disarankan jika Anda tidak memiliki banyak pengalaman pemrograman. Untuk sisa panduan ini, instruksi memerlukan beberapa pengetahuan tentang pemrograman komputer untuk diikuti.

Kembangkan Bot IRC Langkah 2
Kembangkan Bot IRC Langkah 2

Langkah 2. Pertimbangkan basis kode yang sudah ada untuk bot Anda

Ada banyak program open source dan gratis yang dapat membantu Anda mengatur bot kustom Anda sendiri dengan cepat. Salah satu contohnya adalah Eggdrop, bot IRC tertua yang masih dipertahankan.

Kembangkan Bot IRC Langkah 3
Kembangkan Bot IRC Langkah 3

Langkah 3. Pertimbangkan untuk menulis bot Anda sendiri

Untuk pengguna dan pengembang IRC tingkat lanjut yang sudah mengetahui bahasa pemrograman, ini adalah pilihan yang bagus. Anda dapat menggunakan hampir semua bahasa yang Anda inginkan selama memiliki dukungan soket, tetapi yang populer untuk digunakan termasuk Python, Lua, PHP, C, dan Perl. Jika Anda tidak tahu semua ini tetapi Anda tahu bahasa lain, itu tidak masalah. Anda biasanya dapat menemukan contoh di web dalam bahasa apa pun yang Anda inginkan. Untuk artikel ini, kami akan mendemonstrasikan menggunakan PHP. Untuk menggunakan PHP, Anda harus menginstal PHP-CLI di komputer atau server Anda.

  • PHP dapat diunduh dari php.net
  • Skrip PHP dapat dieksekusi dari baris perintah. Untuk informasi tambahan dan bantuan menggunakan PHP, lihat halaman manual PHP ini.

Metode 2 dari 2: Mengembangkan Bot Anda Sendiri

Kembangkan Bot IRC Langkah 4
Kembangkan Bot IRC Langkah 4

Langkah 1. Kumpulkan detail koneksi

Anda harus mendapatkan informasi berikut agar berhasil terhubung ke jaringan.

  • Server: Nama domain server yang digunakan untuk terhubung ke IRC, seperti

    chat.freenode.net

  • Pelabuhan: Dalam kebanyakan kasus, ini adalah 6667, tetapi jika Anda tidak yakin, periksa klien IRC Anda sendiri atau situs web jaringan.
  • Nama panggilan: Nama panggilan yang harus digunakan bot Anda. Perlu diingat beberapa karakter khusus biasanya tidak diperbolehkan (@#!~).
  • identitas: Bidang ident muncul setelah nama panggilan ketika seseorang melakukan WHOIS seperti ini:

    nama panggilan!ident@hostname

  • GECOS: Bidang ini biasanya berisi nama asli pengguna atau deskripsi umum bot, tetapi Anda dapat memasukkan apa pun yang Anda inginkan di sana.
  • Saluran: Anda biasanya ingin bot Anda ada di satu atau beberapa saluran. Pada sebagian besar jaringan, ini diawali dengan '#' tetapi mungkin sesuatu yang lain.
Kembangkan Bot IRC Langkah 5
Kembangkan Bot IRC Langkah 5

Langkah 2. Inisialisasi konfigurasi di skrip Anda

Cara paling dasar untuk melakukannya adalah dengan memberi nama beberapa variabel sesuai dengan nama konfigurasi di atas. Anda juga dapat menyimpannya dalam file konfigurasi dan menguraikannya, tetapi untuk saat ini kami hanya akan tetap dengan kebutuhan mutlak.

Kembangkan Bot IRC Langkah 6
Kembangkan Bot IRC Langkah 6

Langkah 3. Hubungkan ke jaringan

Untuk melakukan ini, Anda harus membuka soket ke server pada port yang ditentukan. Anda juga harus menambahkan beberapa kode penanganan kesalahan di bagian ini jika koneksi gagal karena alasan apa pun. Dalam hal ini, PHP memberi kita beberapa fungsi yang rapi untuk menangani kesalahan secara efektif.

Kembangkan Bot IRC Langkah 7
Kembangkan Bot IRC Langkah 7

Langkah 4. Daftarkan bot Anda

Ini berarti memberikan nama panggilan, identitas, dan GECOS Anda ke server, bukan mendaftar ke NickServ. Untuk melakukan ini, cukup tulis perintah NICK dan USER ke server, diikuti dengan carriage return dan baris baru. Sangat penting bahwa Anda melakukannya persis seperti yang ditunjukkan, karena begitulah yang ditentukan dalam RFC1459, spesifikasi untuk protokol IRC.

Perhatikan bahwa dua parameter tengah (dalam hal ini, * dan 8) harus ditentukan, tetapi diabaikan oleh server. Keduanya hanya digunakan antara server yang terhubung, bukan oleh klien yang terhubung langsung

Kembangkan Bot IRC Langkah 8
Kembangkan Bot IRC Langkah 8

Langkah 5. Terus ambil data dari soket menggunakan loop

Jika Anda tidak menggunakan loop, skrip Anda akan segera dihentikan dan bot pada dasarnya tidak berguna. Agar tetap terhubung, Anda harus mengambil data dari server, memeriksa input apa pun di aliran yang Anda inginkan, dan menanggapinya jika demikian. Di sini, kami mengambil data menggunakan socket_read() untuk mengambil data apa pun yang tersedia untuk kami. Jika ada, kami terus melakukan apa pun yang ada di loop. Mungkin berguna juga untuk menampilkan data mentah ke konsol sehingga Anda dapat melihat apa yang terjadi dari sudut pandang bot.

Kembangkan Bot IRC Langkah 9
Kembangkan Bot IRC Langkah 9

Langkah 6. Tulis penangan ping

Ini penting. Jika Anda tidak menanggapi ping tepat waktu, server akan memutuskan sambungan Anda. Mari kita urus itu dulu. Ping terlihat seperti ini ketika dikirim dari server:

PING:rajaniemi.freenode.net

. Server tidak harus meletakkan namanya setelah ':', ia dapat menyediakan apa pun yang diinginkannya. Anda *harus* mengulangi persis apa yang dikatakan server, kecuali menggunakan PONG.

Kembangkan Bot IRC Langkah 10
Kembangkan Bot IRC Langkah 10

Langkah 7. Bergabunglah dengan saluran Anda

Oke, jadi kami memiliki bot yang terhubung ke jaringan dan merespons ping, tetapi sebaliknya tidak melakukan apa-apa. Agar orang dapat melihat dan menggunakan bot Anda, bot harus berada di saluran (jika tidak, Anda harus memberi tahu bot untuk menanggapi pesan pribadi).

  • Untuk melakukan ini, kami akan memeriksa kode status server 376 atau 422. 376 berarti MOTD (pesan hari ini) selesai. 422 berarti tidak ada MOTD untuk dikirim. MOTD itu hanyalah sesuatu yang dikirim server saat Anda terhubung, tetapi ini adalah indikator yang baik untuk kapan kita bisa mulai bergabung dengan saluran.
  • Anda harus mengeluarkan perintah JOIN. Perintah ini dapat diikuti oleh satu atau lebih saluran yang dipisahkan dengan koma.
  • Perhatikan bahwa data yang dikirim server mudah dibatasi oleh spasi. Dengan cara ini kita dapat membagi data dan mereferensikannya menggunakan indeks array.
Kembangkan Bot IRC Langkah 11
Kembangkan Bot IRC Langkah 11

Langkah 8. Menanggapi pesan saluran

Sekarang untuk bagian yang menyenangkan. Bot Anda bergabung dengan saluran, jadi sekarang Anda dapat menggunakannya untuk apa yang Anda inginkan. Mari kita buat contoh perintah bernama @moo.

  • Perhatikan offset di mana pesan dimulai (ini berlaku untuk saluran dan pesan pribadi). Itu selalu di tempat yang sama.
  • Anda dapat menangani perintah dengan spasi di dalamnya dengan menyatukan kembali data yang dipotong ($d). Itu di luar cakupan artikel ini.
  • Jika targetnya adalah saluran (seperti #botters-test), maka Anda membalasnya. Jika ini adalah pesan pribadi, bit ini akan menjadi nama panggilan bot Anda! Anda kemudian harus membalas menggunakan nama panggilan pengirim, bukan nama Anda (jika tidak, Anda akan berbicara kepada diri sendiri, dan itu konyol).
Kembangkan Bot IRC Langkah 12
Kembangkan Bot IRC Langkah 12

Langkah 9. Perpanjang bot Anda

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

Tips

  • Anda dapat menghasilkan hasil dari perintah "/ saya" dengan mengawali pesan Anda seperti ini:

    • PRIVMSG #channel:\001TINDAKAN teks di sini\001.
    • 001 berarti karakter ASCII 1 dan akan ditafsirkan seperti itu dalam string PHP yang dikutip ganda. Atau, Anda dapat menggunakan

      chr(1)

    • di luar tali.
  • Warna dapat dihasilkan dalam pesan dengan awalan "\003" (kode ASCII 3) diikuti dengan nomor untuk warna. 0 = putih, 1 = hitam, 2 = biru, 3 = hijau, 4 = merah […]. Lihat halaman mIRC untuk lebih banyak warna.
  • Sebagai rasa hormat, dapatkan persetujuan dari pemilik saluran dan operator IRC sebelum membawa bot Anda online. Tidak semua jaringan dan saluran memiliki kebijakan sambutan terhadap bot, bahkan yang berperilaku baik.
  • Beberapa daemon IRC melampaui spesifikasi protokol dan mengimplementasikan fitur lainnya. Jika Anda mengaturnya untuk jaringan tertentu, Anda pasti dapat menggunakan fitur-fitur itu jika Anda tahu tentang protokolnya. Namun, jika Anda ingin bot Anda di-deploy di beberapa jaringan, coba pertahankan sesuai dengan apa yang ada di RFC.

Direkomendasikan: