Operasi Zinebot

Zinebot adalah chatbot yang dirancang untuk membantu editor mingguan menjalankan rapat mingguan. Yang penting, Zinebot hanyalah alat bantu. Zinebot tidak wajib untuk menjalankan rapat. Tujuan utamanya adalah mengambil informasi dari berbagai sumber agar pimpinan rapat tidak perlu berpindah-pindah di beberapa tab browser atau aplikasi dan melakukan salin-tempel informasi ke atau dari ruang obrolan rapat. Rapat tetap dapat dijalankan dengan cara tradisional jika Zinebot crash atau gagal berfungsi.

Instalasi

Lihat repo chatbot Fedora Magazine untuk instruksi instalasi. Cara yang baik untuk menguji Zinebot di luar waktu rapat adalah membuat ruang privat di homeserver Matrix Fedora Project dan mengundang pengguna zinebot ke ruangan tersebut. Anda perlu menetapkan alamat lokal untuk ruangan itu. Anda kemudian dapat mengonfigurasi Zinebot agar bergabung ke ruangan tersebut.

Perintah

Sebagian besar perintah Zinebot bekerja terhadap kanban board Fedora Magazine. Pengecualian yang menonjol termasuk perintah show, post, dan eotw.

Semua perintah Zinebot harus diawali dengan call sign Zinebot dan sebuah karakter spasi. Call sign Zinebot adalah operator wajik unicode (β‹„). Cara praktis untuk memasukkan operator wajik adalah dengan menggunakan compose key. Misalnya, jika compose key diaktifkan dan dikonfigurasi menjadi tombol alt-kanan, maka menekan tombol Alt, < dan > secara berurutan seharusnya menghasilkan operator wajik. Jika diinginkan, call sign Zinebot dapat diubah dengan mengedit skrip run-nya.

Tambahkan baris:

<Multi_key> <less> <greater> : "πŸ”Ή" U1F539 # SMALL BLUE DIAMOND

ke file ~/.XCompose Anda untuk memetakan ulang urutan compose operator wajik normal agar menghasilkan wajik biru kecil sebagai gantinya. Anda perlu me-restart sesi X11 atau Wayland agar perubahan berlaku. Zinebot akan menerima karakter wajik biru kecil (πŸ”Ή) sebagai call sign alternatif. Anda tetap bisa memasukkan operator wajik normal dengan menekan Alt, >, <.
Daftar lengkap compose key yang telah ditentukan sebelumnya dapat ditemukan di file sistem /usr/share/X11/locale/en_US.UTF-8/Compose.
Anda dapat menyesuaikan kode satu karakter yang akan direspons Zinebot dengan mengedit file ~/.local/opt/zinebot/commands/hotkeys.pm.

πŸ”Ή next topic

Bersama Zinebot disertakan file topics.txt yang berisi salinan skrip rapat. Perintah next topic akan membaca blok-blok teks yang tercantum di file topics.txt secara iteratif dan menuliskannya ke ruang obrolan. Blok teks di file tersebut dipisahkan oleh baris kosong.

Sebagian topik berkorelasi dengan kolom tertentu pada kanban board. Jika sesuai, Zinebot akan memindai kartu dari kolom kanban board yang terkait dan menuliskannya ke ruang obrolan sebagai daftar ringkas. Di dalam ringkasan untuk tiap kartu akan ada indikasi apakah penulis telah menandatangani Fedora Project Contributor Agreement (FPCA) atau belum. Status tanda tangan FPCA penulis diambil langsung dari Fedora Account System setiap kali sebuah kartu diambil dari kanban board.

πŸ”Ή next col[umn]

Secara internal, Zinebot melacak kolom kanban yang sedang dilihat saat ini. Perintah ini maju ke kolom berikutnya pada kanban board dan menampilkan daftar kartunya. Biasanya, perintah ini tidak diperlukan karena perintah next topic akan menangani perpindahan ke kolom yang sesuai.

πŸ”Ή next card

Secara internal, Zinebot melacak kartu mana pada kolom kanban saat ini yang sedang dilihat. Perintah ini maju ke kartu berikutnya di kolom tersebut dan menampilkan ringkasannya. Jika Anda ingin melihat kartu tertentu alih-alih mengiterasi sesuai urutannya, lihat perintah view di bawah.

Sebagai singkatan untuk perintah ini, Zinebot menerima sebuah unicode panah ke kanan (β†’) saja. Call sign harus dihilangkan saat menggunakan singkatan tersebut.

πŸ”Ή skip topic <number|text>

Perintah ini memungkinkan Anda melompat ke topik tertentu. Misalnya, skip topic agenda atau skip topic 7. Perintah ini akan mereset penghitung topik internal sehingga hasil dari perintah next topic berikutnya akan berubah. Selain itu, perintah ini berperilaku persis seperti perintah next topic.

πŸ”Ή show proposed

Saat kolom to-edit dimuat di deck kartu internal saat ini, perintah ini akan membaca tanggal publikasi terjadwal dari semua kartu di deck dan menampilkannya bersama judul kartu dan editor yang ditugaskan sebagai jadwal usulan untuk edit dan publikasi.

Sebagai singkatan untuk perintah ini, Zinebot akan menerima sebuah simbol unicode because (∡) saja. Call sign harus dihilangkan saat menggunakan singkatan tersebut.

Urutan compose key default untuk simbol because adalah <compose-key>, ., :.

πŸ”Ή show agreed

Perintah ini menghasilkan output yang sama seperti perintah proposed yang dijelaskan di atas. Namun, alih-alih diawali dengan #proposed, output akan diawali dengan #agreed.

Di balik layar, perintah ini juga akan memposting jadwal publikasi yang telah disepakati ke kanal Fedora Magazine di forum Discourse Fedora Project. Keberhasilan atau kegagalan tiap percobaan posting ditunjukkan oleh πŸ”Ή atau πŸ”Έ yang sesuai di akhir tiap kartu terjadwal. Hanya artikel yang dijadwalkan untuk minggu mendatang yang seharusnya berhasil diposting. Apa pun yang dijadwalkan untuk tanggal yang lebih awal atau lebih akhir seharusnya otomatis gagal diposting.

Sebagai singkatan untuk perintah ini, Zinebot akan menerima sebuah simbol unicode therefore (∴) saja. Call sign harus dihilangkan saat menggunakan singkatan tersebut.

Urutan compose key default untuk simbol therefore adalah <compose-key>, :, ..

πŸ”Ή show testdays

Perintah ini memindai kalender QA Fedora Project untuk event test day dan menampilkannya di ruang obrolan. Pemindaian dibatasi pada periode tiga minggu yang dimulai pada hari Minggu di minggu berjalan. Event test day diidentifikasi sebagai event yang meeting location-nya disetel ke fedora-test-day*.

πŸ”Ή show schedule

Perintah ini memindai jadwal Fedora Project untuk publikasi Fedora Magazine yang terjadwal, seperti pengumuman rilis beta dan final. Hasilnya kemudian ditampilkan di ruang obrolan.

πŸ”Ή list [column]

Perintah ini menghasilkan daftar ringkas kartu kanban dari kolom kanban saat ini atau, jika ditentukan, kolom kanban yang diminta. Perintah next topic, skip topic, dan next column memanggil perintah ini secara otomatis. Saat kolom tertentu diminta, semua perintah Zinebot berikutnya akan menganggapnya sebagai kolom current.

Secara internal, perintah Zinebot next card dan view bekerja terhadap cache kartu yang diambil dari kolom kanban saat ini, alih-alih mengambilnya dari Pagure setiap kali. Perintah ini mengisi ulang cache internal setiap kali dipanggil. Kartu saat ini juga direset ke kartu pertama dalam daftar. Jika Anda memodifikasi kartu mana pun yang tersimpan di cache, Anda mungkin perlu menjalankan ulang perintah ini untuk memperbarui cache internal.

πŸ”Ή view [number]

Perintah ini melakukan hal yang persis sama seperti perintah next card. Namun, tidak seperti yang terakhir, perintah ini memungkinkan Anda menentukan nomor kartu tertentu untuk ditampilkan. Kartu yang diminta harus sudah dimuat di cache kartu saat ini dari eksekusi perintah list sebelumnya. Saat kartu tertentu diminta, indeks kartu saat ini untuk eksekusi berikutnya dari perintah next card tidak dimajukan.

πŸ”Ή card <number> <property> [<property> …​]

Ini adalah perintah tingkat rendah yang memungkinkan Anda mengakses properti kartu satu per satu. Ketika diberi nomor kartu, perintah ini bekerja langsung terhadap Pagure. Perintah ini dapat mengakses kartu yang tidak berada di kolom saat ini. Properti kartu berikut dapat diakses melalui perintah ini.

 πŸž„ id πŸž„ title πŸž„ full_url πŸž„ content πŸž„ comments[:N] πŸž„ <any-custom-field-name>

Secara default, tiga komentar terakhir diambil dari kartu ketika properti comments diminta. Jumlah komentar yang akan diambil dapat ditentukan dengan menambahkan :N pada nama properti, di mana N adalah bilangan bulat positif. Semua komentar kartu dapat diminta dengan menambahkan :0 pada nama properti.

πŸ”Ή move <number> <column> [row]

Perintah ini memindahkan kartu yang ditentukan ke kolom kanban yang ditentukan. Secara opsional, Anda dapat menentukan offset baris tempat kartu harus ditempatkan di kolom tujuan. Secara default, kartu dipindahkan ke bagian paling atas kolom tujuan (baris (1)).

Sebagai singkatan, Anda dapat menggunakan karakter unicode ← atau β†’ sebagai pengganti nama kolom untuk menandakan masing-masing kolom sebelumnya atau berikutnya.

Urutan compose key default untuk simbol panah ke kiri adalah <compose-key>, <, -.
Urutan compose key default untuk simbol panah ke kanan adalah <compose-key>, -, >.

πŸ”Ή ping <number> <comment>

Perintah ini menambahkan komentar satu baris ke kartu yang ditentukan. Pagure seharusnya mengirim notifikasi email kepada pihak yang ditugaskan pada kartu tersebut yang berisi komentar itu. Komentar tidak perlu dikutip. Semua teks setelah nomor kartu dianggap sebagai bagian dari komentar.

πŸ”Ή post <title> [date [time]]

Perintah ini memposting sebuah event ke kalender Fedora Magazine di forum Discourse Fedora. Jika tanggal tidak ditentukan, default-nya adalah satu minggu dari hari ini. Jika waktu tidak ditentukan, default-nya adalah awal jam berjalan. Tanggal harus ditulis sebagai YYYY-MM-DD. Waktu harus ditulis sebagai HH:MM:SS. Waktu menggunakan Coordinated Universal Time (UTC). Judul tidak perlu dikutip. Apa pun yang tidak cocok dengan pola tanggal atau waktu dianggap sebagai bagian dari judul event.

Perintah ini dipanggil secara otomatis oleh perintah show agreed untuk menambahkan artikel yang telah disepakati ke kalender publikasi.

πŸ”Ή eotw <username>

Perintah ini memposting baris editor mingguan. Sekadar untuk bersenang-senang, king dan queen adalah alias untuk perintah ini. Keduanya mungkin lebih mudah diingat.