
(sebelumnya "twitch_monitor_discord_bot")
Nedry adalah bot perselisihan yang diselenggarakan sendiri dengan sistem plugin modular. Banyak perilaku bermanfaat tersedia di luar kotak, tetapi Anda juga dapat menginstal plugin untuk memperluas perilaku Nedry, atau bahkan menulis plugin Anda sendiri.
Beberapa fitur out-of-the-box meliputi:
Semua fitur yang disebutkan di atas diimplementasikan sebagai plugin modular di direktori nedry/builtin_plugins , yang berfungsi sebagai referensi bermanfaat untuk penulis plugin.
Untuk segera memulai, lihat bagian Mulai Cepat.
Daftar isi
helpinfo perintahquote Perintahtimezonestreamers Perintahaddstreamersremovestreamersclearallstreamersphrases perintahtestphrasesaddphraseremovephrasesnocompetitioncmdhistorysayplugins Perintahplugson Perintahplugsoff Perintahpluginfo Perintahtwitchclientidannouncechanneljoke perintahwikimockapologizeapologiseschedule perintahunscheduleremindmeunremindtriviatriviascoresstorysocialcredit Nama proyek berubah, tetapi semua fitur yang ada di "Twitch_Monitor_Discord_Bot" masih ada di "Nedry". Langkah -langkah berikut akan diperlukan untuk beralih ke "Nedry":
Itu saja!
Instal untuk Python (hanya Python 3.9x atau lebih besar didukung) menggunakan pip :
Python -m Pip Instal Nedry
Jalankan paket sebagai modul tanpa argumen, yang akan membuat file konfigurasi kosong yang disebut default_bot_config.json di direktori Anda saat ini dan segera keluar.
$ python -m nedry File konfigurasi default dibuat 'default_bot_config.json', silakan tambahkan parameter yang diperlukan
Sebagian besar perilaku bot ini dapat dikonfigurasi melalui pesan Discord saat bot sedang berjalan dan berjalan, tetapi ada beberapa parameter yang perlu diatur dalam file konfigurasi terlebih dahulu, untuk membuat bot berbicara dengan server Discord Anda. Mengisi parameter yang diperlukan ini dalam file .json:
discord_bot_api_token : Token API Discord Bot harus dimasukkan di sini sebagai string. Buat aplikasi bot baru, dan buat/salin token di halaman "bot" (Catatan: Pastikan untuk mengaktifkan semua niat gateway istimewa untuk aplikasi bot Anda).discord_server_id : Discord Server ID (server yang Anda inginkan bot untuk terhubung) harus dimasukkan di sini sebagai bilangan bulat. Cara menemukan pengguna/server/id pesan perselisihandiscord_admin_users : Daftar ID Pengguna Perselisihan sebagai bilangan bulat dapat dimasukkan di sini. Pengguna admin memiliki akses ke set lengkap perintah perselisihan yang dapat diterima bot. Paling tidak, Anda mungkin ingin menambahkan ID pengguna Perselisihan Anda sendiri di sini sehingga Anda memiliki kontrol penuh atas bot. Cara menemukan pengguna/server/id pesan perselisihanSetelah semua parameter yang diperlukan telah diatur dalam file .json, jalankan paket sebagai modul lagi, tetapi kali ini lulus file konfigurasi Anda sebagai argumen:
$ python -m nedry default_bot_config.json
Jika dikonfigurasi dengan benar, maka bot sekarang harus terhubung ke server Discord Anda. Anda selesai mengedit file konfigurasi!
Setiap kali bot Anda online di server Discord, Anda dapat mengeluarkan perintah ke bot dengan menyebutkan nama perselisihan bot di awal pesan, baik di DM atau di saluran apa pun yang memiliki akses bot, misalnya @BotName !command Satu -satunya perintah yang benar -benar perlu Anda ketahui adalah perintah help ; Jika Anda mengatakan @BotName !help , maka bot akan menunjukkan kepada Anda perintah apa yang tersedia dan menunjukkan kepada Anda cara mendapatkan bantuan yang lebih spesifik dengan perintah individual.
Selain dari 3 hal pertama yang Anda tetapkan dalam file konfigurasi bot di bagian sebelumnya, semua hal lain tentang perilaku bot dapat dikonfigurasi dengan mengirim pesan/perintah ke bot pada perselisihan. Satu hal yang mungkin ingin Anda konfigurasikan dengan cara ini, adalah bagaimana streamer Twitch dipantau untuk pengumuman aliran.
Langkah -langkah berikut diperlukan untuk mengaktifkan pengumuman Twitch Stream:
Pengaturan pita kedutan mana yang akan dipantau
Kirim perintah "AddStreamers", dengan satu atau lebih argumen, yang masing -masing harus menjadi nama saluran Twitch yang ada. misalnya "@botname! AddStreamers channel1 channel2":

Perubahan pada daftar pita disimpan dalam file konfigurasi.
Untuk informasi tentang cara melihat daftar pita yang dipantau, dan cara menghapus streamer dari daftar, gunakan perintah "@botname! Help Streamer" dan "@botname! Help RemoveStreamers".
Mengatur Saluran Perselisihan untuk pengumuman aliran
Kirim perintah "pengumuman UMUMNEL" dengan satu argumen, yang seharusnya menjadi nama saluran perselisihan yang Anda inginkan untuk dikirim. misalnya "@botname! pengumuman-nama saluran":

Nama saluran pengumuman aliran disimpan dalam file konfigurasi.
Mengatur frasa khusus untuk pengumuman aliran
Ini opsional, tetapi hanya ada 1 frasa pengumuman aliran default, jadi Anda mungkin ingin menambahkan beberapa milik Anda. Setiap kali streamer ditayangkan, salah satu frasa pengumuman aliran Anda dipetik secara acak untuk pengumuman tersebut. Frasa dapat berisi token format (lihat perintah "@botname! Help AddPhrase" untuk informasi lebih lanjut tentang token format). misalnya "@botname! AddPhrase Beberapa frasa khusus":

Untuk referensi, frasa dari gambar sebelumnya menghasilkan pengumuman aliran berikut ketika streamer bernama "Ohmlab" mulai streaming pada hari Rabu:

Semua frasa pengumuman aliran disimpan dalam file konfigurasi.
Mengatur ID Klien Twitch dan Rahasia Klien
Dalam DM dengan bot di perselisihan, atau di saluran publik apa pun, kirim perintah "TwitchClientId" dengan dua argumen, misalnya "@BotName! TwitchClientID xxxx yyyy".
Ganti "xxxx" dengan ID klien Twitch Anda, dan ganti "yyyy" dengan rahasia klien Twitch Anda. Anda harus memiliki akun Twitch, dan mendaftarkan aplikasi, untuk mendapatkan ID klien dan rahasia klien untuk aplikasi Anda. instruksi di sini.

Anda dapat mengubah ID klien dan rahasia klien kapan saja, menggunakan perintah yang sama. ID klien dan rahasia klien yang Anda berikan dengan perintah ini disimpan dalam file konfigurasi, jadi tidak perlu menyerahkan ulang ini setiap kali Anda memulai bot.
Gunakan file NEDRY.Service yang tersedia di GitHub untuk dengan cepat membuat layanan SystemCTL untuk menjalankan Nedry.
Catatan: Layanan ini memuat file konfigurasi di /home/ubuntu/nedry_config.json , Anda mungkin perlu mengedit baris "ExecStart" dan mengubah jalur itu ke lokasi file konfigurasi Anda.
Catatan: Layanan ini memuat lingkungan pengguna yang bernama "Ubuntu", Anda mungkin perlu mengedit baris "pengguna" dan mengubah nama pengguna menjadi nama pengguna Anda sendiri.
Untuk menggunakan plugin, Anda harus menambahkan setidaknya satu jalur direktori ke daftar plugin_directories dalam file konfigurasi. Plugin diinstal dengan menempatkan file python langsung di tingkat atas direktori yang tercantum di plugin_directories (tidak dalam subdirektori!). Jika ada plugin yang valid di direktori yang tercantum dalam plugin_directories ketika bot dimulai, mereka akan dimuat dan tersedia untuk digunakan.
Semua plugin yang dimuat diaktifkan secara default. Untuk melihat daftar semua plugin, diaktifkan dan dinonaktifkan, gunakan perintah !plugins Untuk menonaktifkan/mengaktifkan plugin, gunakan perintah !plugson dan !plugsoff . Misalnya, untuk menonaktifkan plugin knock_knock_jokes bawaan, gunakan @BotName !plugsoff knock_knock_jokes .
Untuk memulai dengan menulis plugin, lihat sampel plugin fungsional ini dan file templat plugin ini (salin, tempel & modifikasi untuk membuat plugin Anda sendiri).
Juga, lihat plugin bawaan yang lebih kompleks ini
Berikut ini adalah beberapa tangkapan layar dari interaksi perintah / respons lain -lain dengan bot pada perselisihan. Bagian ini tidak dimaksudkan sebagai referensi komprehensif dari semua perintah yang tersedia (lihat bagian "Referensi Perintah Bot" di akhir untuk itu), tetapi lebih merupakan ilustrasi cepat tentang bagaimana rasanya berinteraksi dengan bot pada perselisihan.







Bagian ini mencakup semua parameter file konfigurasi, termasuk yang tidak tercakup di bagian Start Cepat. File konfigurasi harus merupakan file .json dari formulir berikut:
{
"twitch_client_id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "
"twitch_client_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Discord_bot_api_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"discord_server_id": 123456789123456789,
"discord_channel_name": "my-discord-channel",
"poll_period_seconds": 60,
"host_streamer": "nama saya-name-my-streamer",
"silent_when_host_streaming": true,
"plugin_data": {},
"plugin_directories": ["/home/user/nedry_plugins"],
"Discord_admin_users": [422222187366187010, 487222187346187011],
"Discord_joke_tellers": [422222187366187010, 487222187346187011],
"candaan": [],
"TimeZones": {},
"command_log_file": "/home/user/twitch_monitor_bot_command_log.txt",
"startup_message": "Halo! Saya seorang bot yang dapat memantau aliran kedutan untuk Anda.",
"Streamers_to_monitor": [
"Mrsketi",
"none_of_many"
],
"stream_start_messages": [
"{streamer_name} sekarang streaming! Tonton di sini: {stream_url}",
"{streamer_name} melakukan sesuatu, lihatlah di sini: {stream_url}"
]
}
twitch_client_id : Masukkan ID klien Twitch Anda di sini.discord_bot_api_token : Masukkan token API untuk aplikasi bot Discord Anda di sini.discord_server_id : Masukkan ID server untuk server yang Anda ingin bot terhubung ke sini.discord_channel_name : Masukkan nama saluran yang Anda ingin bot terhubung ke sini.poll_period_seconds : Masukkan penundaan yang diinginkan (dalam detik) antara memeriksa apakah semua streamer tinggal di sini.host_streamer : Masukkan nama saluran Twitch Anda sendiri di sini (opsional).silent_when_host_streaming : Jika benar, tidak ada pengumuman tentang aliran lain yang akan dibuat ketika host streamer hidup.plugin_directories : Daftar nama direktori untuk mencari plugin yang dimuat saat startupplugin_data : Menghubungkan data persisten untuk plugin, dikutut dikunci oleh nama plugindiscord_admin_users : Beberapa nomor ID pengguna Discord dapat ditambahkan di sini. Pengguna yang ditambahkan di sini akan diizinkan untuk mengkonfigurasi bot dengan mengirim perintah di perselisihan.discord_joke_tellers : Beberapa nomor ID pengguna Discord dapat ditambahkan di sini. Lelucon pengetuk apa pun yang diceritakan kepada bot oleh pengguna perselisihan dalam daftar ini, akan "diingat" (disimpan dalam daftar "lelucon"), dan dapat diberitahu kembali kepada pengguna perselisihan lain nanti ketika lelucon diminta.jokes : Setiap lelucon yang diingat oleh bot dari pengguna Discord akan disimpan di sini.timezones : Dikt yang memetakan nomor ID pengguna Discord ke nama IANA dari zona waktu mereka berada. Ketika Anda memberi tahu bot zona waktu Anda dengan perintah "TimeZone", di sinilah tempat disimpan.command_log_file : Masukkan nama file yang diinginkan ke perintah log yang diterima dari pesan perselisihan. Setel ke "null" jika Anda tidak ingin mencatat perintah.startup_message : Masukkan pesan yang ingin Anda kirimkan saat online setelah dimulai di sini. Pesan dapat berisi token format berikut:{botname} : diganti dengan nama bot yang dilihat oleh pengguna perselisihan lainnya{date} : akan diganti dengan tanggal saat ini dalam format dd/mm/yyy{times} : akan diganti dengan waktu saat ini dalam format HH: MM: SS{time} : akan diganti dengan waktu saat ini dalam format HH: mm{day} : akan diganti dengan nama hari kerja saat ini (misalnya "Senin"){month} : akan diganti dengan nama bulan ini (misalnya "Januari"){year} : akan diganti dengan tahun berjalan (misalnya "2022")streamers_to_monitor : Masukkan daftar nama streamer untuk dipantau di sini.stream_start_messages : Beberapa pesan dapat didefinisikan di sini untuk digunakan sebagai pengumuman untuk streamer yang ditayangkan. Pesan mungkin berisi token format berikut:{streamer_name} : akan diganti dengan nama streamer{stream_url} : akan diganti dengan URL stream di twitch.com{botname} : diganti dengan nama bot yang dilihat oleh pengguna perselisihan lainnya{date} : akan diganti dengan tanggal saat ini dalam format dd/mm/yyy{times} : akan diganti dengan waktu saat ini dalam format HH: MM: SS{time} : akan diganti dengan waktu saat ini dalam format HH: mm{day} : akan diganti dengan nama hari kerja saat ini (misalnya "Senin"){month} : akan diganti dengan nama bulan ini (misalnya "Januari"){year} : akan diganti dengan tahun berjalan (misalnya "2022") Jika Anda menulis plugin, Anda mungkin perlu berlangganan beberapa acara (seperti yang ditunjukkan dalam plugin contoh ini). Bagian ini menyebutkan jenis acara yang tersedia di nedry.event_types.events , bersama dengan argumen yang diharapkan dan deskripsi singkat:
| Peristiwa | Argumen acara | Deskripsi acara |
|---|---|---|
| Discord_message_received | (pesan) "Pesan" adalah objek pesan Discord.py (lihat Discord.py Docs) | Dipancarkan setiap kali ada pesan perselisihan yang diterima, baik di saluran publik yang memiliki akses bot, atau dalam DM dengan bot. |
| Discord_bot_mention | (pesan, text_without_mention) "Pesan" adalah objek pesan Discord.py (lihat Discord.py Docs). "text_without_mention" adalah teks pesan dengan sebutan bot yang dilucuti. | Dipancarkan setiap kali pesan perselisihan yang dimulai dengan menyebutkan nama Bots Discord diterima, baik di saluran publik yang memiliki akses bot, atau dalam DM dengan bot. Hanya menyebutkan yang tidak diikuti oleh perintah yang disertakan di sini, ada acara terpisah untuk perintah, Bot_Command_Received |
| New_discord_member | (anggota) "Anggota" adalah objek pengguna Discord.py dari anggota yang bergabung (lihat Discord.py Docs). | Dipancarkan setiap kali pengguna baru bergabung dengan server Discord. |
| Discord_connected | Tidak ada argumen | Dikeluarkan setiap kali bot terhubung ke server discord yang dikonfigurasi (ini dapat memakan waktu hingga beberapa detik setelah startup) |
| Bot_Command_Received | (pesan, text_without_mention) "Pesan" adalah objek pesan Discord.py (lihat Discord.py Docs) "Text_without_mention" adalah teks pesan dengan sebutan bot yang dilucuti. | Dipancarkan setiap kali pesan yang dimulai dengan sebutan bot diikuti oleh karakter awalan perintah ("!") Diterima, baik di saluran publik yang memiliki akses bot, atau dalam DM dengan bot. Acara dipancarkan sebelum perintah ditangani. |
| Bot_sending_message | (saluran, message_text) "Saluran" adalah objek saluran discord.py untuk saluran yang dipecahkan pesan (lihat Discord.py Docs). "Message_Text" adalah pesan yang akan dikirim ke saluran. | Dipancarkan setiap kali bot akan mengirim pesan ke saluran publik atau ke DM. |
| Twitch_stream_started | (Nama, URL) "Name" adalah nama Twitch dari streamer yang mulai streaming. "URL" adalah url kedutan dari aliran yang dimulai. | Dipancarkan setiap kali salah satu pita yang dikonfigurasi untuk pemantauan mulai streaming. |
| Twitch_stream_ended | (Nama, URL) "Nama" adalah nama kedutan dari streamer yang berhenti streaming. "URL" adalah url kedutan dari aliran yang berakhir. | Dipancarkan setiap kali salah satu pita yang dikonfigurasi untuk pemantauan berhenti streaming. |
| Host_stream_started | Tidak ada argumen | Dipancarkan saat streamer host yang dikonfigurasi mulai streaming |
| Host_stream_ended | Tidak ada argumen | Dipancarkan saat streamer host yang dikonfigurasi berhenti streaming |
Jika Anda menemukan masalah atau kesalahan ketik, harap laporkan dengan membuat masalah baru di GitHub.
Kontribusi dipersilakan, buka permintaan tarik di GitHub.
helpBantuan [perintah] Menampilkan informasi bermanfaat tentang perintah yang diberikan. Ganti [perintah] dengan Perintah Anda ingin bantuan. Contoh: @Botname! Bantu wiki Semua pengguna Discord dapat menggunakan perintah ini.
info perintahinfo Tunjukkan informasi umum tentang bot, termasuk tetapi tidak terbatas; - Versi Paket Python - Uptime (berapa lama bot telah berjalan untuk) - Plugin yang diinstal, baik diaktifkan dan dinonaktifkan Contoh: @Botname! Info bantuan Semua pengguna Discord dapat menggunakan perintah ini.
quote Perintahmengutip Menampilkan kutipan terkenal acak Contoh: @Botname! Kutipan Semua pengguna Discord dapat menggunakan perintah ini.
timezoneTimeZone [timezone_name] Atur zona waktu untuk penulis pesan perselisihan, memungkinkan ini Perselisihan pengguna untuk menyediakan/melihat tanggal dan waktu di zona waktu setempat. [timezone_name] harus diganti dengan nama zona waktu dari IANA Database zona waktu, atau beberapa substring, misalnya "London" atau "Los Angeles". Jika Anda tinggal di kota besar, maka sering hanya mengetik nama kota di sini cukup. Namun, jika Anda mengalami masalah, coba pilih wilayah Anda peta zona waktu IANA ini, dan menggunakan nama negara/kota yang ditampilkan di kotak pemilihan drop-down: https://kevalbhatt.github.io/timezone-picker Mengirim perintah ini tanpa argumen yang akan meminta zona waktu saat ini Ditugaskan kepada penulis pesan Discord. Contoh: @Botname! TimeZone # Query Timezone Pengaturan untuk Pengguna Perselisihan ini @Botname! Timezone London # Set TimEzone untuk pengguna perselisihan ini ke "Eropa/London" Semua pengguna Discord dapat menggunakan perintah ini.
streamers PerintahStreamer Menampilkan daftar pita yang saat ini dipantau. Contoh: @Botname! Streamer Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
addstreamersaddStreamers [nama] ... Menambahkan satu atau lebih streamer baru ke daftar pita yang dipantau. Mengganti [Nama] dengan nama kedutan dari streamer yang ingin Anda pantau. Contoh: @Botname! AddStreamers Streamer1 Streamer2 Streamer3 Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
removestreamerspenghapus [nama] ... Menghapus satu atau lebih streamer dari daftar pita yang dipantau. Ganti [nama] Dengan nama kedutan dari streamer yang ingin Anda hapus. Contoh: @Botname! RemoveStreamers Streamer1 Streamer2 Streamer3 Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
clearallstreamersClearallStreamers Menghapus daftar pita yang saat ini sedang dipantau. Contoh: @Botname! ClearallStreamers Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
phrases perintahfrasa Menampilkan daftar frasa bernomor yang saat ini digunakan untuk pengumuman aliran. Contoh: @Botname! Frasa Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
testphrasestestprass Menampilkan semua frasa yang saat ini digunakan untuk pengumuman aliran, dengan token format Diisi, sehingga Anda dapat melihat seperti apa penampilannya ketika diposting ke saluran Discord. Contoh: @Botname! TestPhrases Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
addphrase addphrase [frasa]
Menambahkan frasa baru yang akan digunakan untuk aliran annnouncements. Format berikut
Token dapat digunakan dalam frasa:
{streamer_name}: diganti dengan nama twitch streamer
{stream_url}: diganti dengan URL stream di twitch.tv
{Botname}: diganti dengan nama bot yang dilihat oleh pengguna perselisihan lainnya
{date}: diganti dengan tanggal saat ini dalam format dd/mm/yyy
{Times}: diganti dengan waktu saat ini dalam format hh: mm: ss
{Time}: diganti dengan waktu saat ini dalam format hh: mm
{day}: diganti dengan nama hari kerja saat ini (misalnya "Senin")
{bulan}: diganti dengan nama bulan ini (misalnya "Januari")
{tahun}: diganti dengan tahun berjalan (misalnya "2022")
Contoh:
@Botname! AddPhrase "{streamer_name} sekarang streaming di {stream_url}!"
Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
removephrasesHapusPrase [NUMBER] [NUMBER] ... Menghapus satu atau lebih frasa dari daftar frasa yang digunakan untuk pengumuman aliran. [Nomor] harus diganti dengan nomor untuk frasa yang diinginkan, seperti yang ditunjukkan pada Daftar bernomor yang dihasilkan oleh perintah 'frasa'. Dengan kata lain, untuk menghapus Sebuah frasa, Anda harus terlebih dahulu melihat output dari perintah "frasa" untuk mendapatkan Jumlah frasa yang ingin Anda hapus. Contoh: @Botname! RemovePrases 3 4 5 Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
nocompetitionnocompetition [diaktifkan] [Diaktifkan] harus diganti dengan 'benar' atau 'false'. Jika benar, maka tidak Pengumuman tentang aliran lain akan dibuat saat streamer host sedang streaming. Jika false, maka pengumuman akan selalu dibuat, bahkan jika streamer host streaming. (Untuk memeriksa apakah nocompetition diaktifkan, jalankan perintah tanpa argumen benar/salah) Contoh: @Botname! Nocompetition True (Aktifkan Nocompetition) @Botname! Nocompetition false (aktifkan nocompetition) @Botname! Nocompetition (periksa keadaan saat ini) Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
cmdhistorycmdhistory [entri_count] Tampilkan beberapa entri terakhir dalam file log perintah. Jika tidak ada hitungan yang diberikan maka 25 entri terakhir ditampilkan. Contoh: @Botname! Cmdhistory (Tampilkan 25 entri terakhir) @Botname! Cmdhistory 5 (Tampilkan 5 entri terakhir) Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
saykatakan [hal untuk mengatakan] Menyebabkan bot mengirim pesan di saluran pengumuman, segera, berisi Apapun yang Anda ketik di tempat [barang untuk dikatakan]. Contoh: @Botname! Ucapkan selamat pagi Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
plugins Perintahplugin Tampilkan semua plugin yang dimuat, dan tunjukkan mana yang saat ini diaktifkan Contoh: @Botname! Bantu wiki Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
plugson Perintahplugson [plugin_name] [plugin_name] ... Mengaktifkan / menyalakan satu atau lebih plugin dengan nama (nama plugin dapat dilihat di output dari perintah 'plugin', dikelilingi oleh kawat gigi persegi misalnya "[]"). Contoh: @Botname! Pluginon knock_knock_jokes Other_plugin Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
plugsoff Perintahplugsoff [plugin_name] [plugin_name] ... Nonaktifkan / matikan satu atau lebih plugin dengan nama (nama plugin dapat dilihat di output dari perintah 'plugin', dikelilingi oleh kawat gigi persegi misalnya "[]"). Contoh: @Botname! Pluginoff knock_knock_jokes Other_plugin Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
pluginfo Perintahpluginfo [plugin_name] Informasi kueri tentang plugin yang dimuat. Contoh: @Botname! Pluginfo knock_knock_jokes Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
twitchclientidtwitchclientId [client_id_string] [client_secret_string] Mengatur ID klien dan rahasia klien yang digunakan untuk berinteraksi dengan API Twitch. Ganti [client_id_string] dengan string ID klien untuk aplikasi Twitch Anda. Ganti [client_secret_string] dengan string rahasia klien untuk aplikasi Twitch Anda. Contoh: @Botname! Bantu twitchclientId xxxxxxxxxxxx yyyyyyyyyyy Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
announcechannelpengumuman ulang [discord_channel_name] Mengatur saluran Discord di mana pengumuman aliran akan diposting. Jika tidak ada perselisihan Nama saluran disediakan, lalu nama saluran pengumuman aliran saat ini akan dikembalikan. Contoh: @Botname! Pengumuman ulang # query nama saluran saat ini @Botname! Pengumuman My-Channel # Setel Saluran Pengumuman ke 'My-Channel' Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
joke perintahcandaan Menceritakan lelucon ketukan interaktif. Anda juga dapat * menceritakan * Knock-Knock Jokes ke bot, dan itu akan mengingat lelucon baru untuk memberi tahu mereka kembali kepada Anda nanti saat Anda mengirim perintah ini. Setiap pengguna yang bertentangan dapat menceritakan lelucon ke bot, tetapi hanya lelucon yang diceritakan oleh pengguna yang terdaftar Di 'discord_joke_tellers' di file konfigurasi akan diingat. Contoh: @Botname! Lelucon Semua pengguna Discord dapat menggunakan perintah ini.
wikiwiki [Teks pencarian] Cari teks yang disediakan menggunakan API publik Wikipedia, dan kembalikan teks ringkasan (umumnya paragraf pertama) dari halaman pertama dalam hasil pencarian. Jika tidak ada pencarian Teks disediakan, maka artikel Wikipedia acak akan dipilih sebagai gantinya. Contoh: @Botname! Wiki Python Language (tampilkan ringkasan halaman wiki untuk bahasa pemrograman python) @Botname! Wiki (Tampilkan ringkasan halaman wiki acak) Semua pengguna Discord dapat menggunakan perintah ini.
mockMock [sebutkan] Ulangi hal terakhir yang dikatakan oleh pengguna tertentu dengan nada "mengejek". Ganti [sebutkan] Dengan menyebutkan pengguna perselisihan yang ingin Anda kejar. Contoh: @Botname! Mock @Discord_user Semua pengguna Discord dapat menggunakan perintah ini.
apologizeminta maaf [sebutkan] Minta maaf kepada pengguna tertentu karena telah mengejek mereka. Ganti [sebutkan] Dengan menyebutkan pengguna perselisihan yang ingin Anda minta maaf. Contoh: @Botname! Mohon maaf @discord_user Semua pengguna Discord dapat menggunakan perintah ini.
apologiseminta maaf [sebutkan] Minta maaf kepada pengguna tertentu karena telah mengejek mereka. Ganti [sebutkan] Dengan menyebutkan pengguna perselisihan yang ingin Anda minta maaf. Contoh: @Botname! Mohon maaf @discord_user Semua pengguna Discord dapat menggunakan perintah ini.
schedule perintahJadwalkan [channel_name] [message_text] di | on | at [time_description] Siapkan pesan yang akan dikirim oleh bot di saluran perselisihan tertentu setelah spesifik waktu tunda. [channel_name] harus diganti dengan nama saluran perselisihan tempat Anda ingin pesan dikirim. [message_text] harus diganti dengan teks apa pun yang ingin Anda kirim dalam pesan perselisihan. [time_description] harus diganti dengan deskripsi waktu yang diinginkan sebelumnya Pesan dikirim ke saluran. Waktu dapat dijelaskan dengan salah satu cara berikut: - Periode penundaan absolut yang ditulis dalam bahasa Inggris, menggunakan digit (misalnya "5") bukannya kata -kata (misalnya "lima") untuk nilai angka. Misalnya: "1 menit", "2 jam dan 3 menit", "2hrs3mins", "2 jam & 3 menit" - Tanggal dan waktu tertentu, ditulis dalam salah satu format berikut: * Dd/mm/yyyy hh: mm * Yyyy/mm/dd hh: mm * HH: mm dd/mm/yyyy * Hh: mm yyyy/mm/dd Catatan: Jika Anda menggunakan tanggal/waktu tertentu, Anda harus terlebih dahulu memberi tahu bot yang mana TimeZone Anda menggunakan perintah "! Timezone". Dengan begitu, Anda dapat memberikan tanggal/waktu di zona waktu setempat. Anda hanya perlu mengatur zona waktu Anda sekali, bot akan Ingatlah (lihat "@botname! Help timezone" untuk detail lebih lanjut tentang cara mengatur zona waktu Anda). Mengirim perintah tanpa argumen mengembalikan daftar pesan yang dijadwalkan saat ini. Contoh: @Botname! Jadwal # kueri Pesan Terjadwal Saat ini @Botname! Jadwalkan lelucon haha! dalam 2 jam # Jadwal pesan ke "lelucon" dalam 2 jam @Botname! Jadwal Berita Hujan :( Dalam 1H & 10M # Jadwal pesan ke "berita" dalam 1 jam, 10 menit @Botname! Jadwalkan General Howdy! pada 17:02 23/10/2025 # Jadwal pesan ke "Umum" pada tanggal & waktu tertentu Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
unscheduleJangan Jadwal [message_number] [message_number] ... Tidak Jadwal Semua Tidak Jadwal Terakhir Hapus satu atau lebih pesan yang dijadwalkan berdasarkan nomor. [message_number] harus diganti dengan jumlah pesan yang ingin Anda hapus, seperti yang ditunjukkan oleh output menjalankan Perintah '! Jadwal' tanpa argumen. Atau, alih -alih memberikan angka, Anda dapat melewati satu argumen "semua" Untuk menghapus semua pesan yang dijadwalkan sekaligus, atau "terakhir" untuk menghapus yang paling baru Menambahkan pesan yang dijadwalkan. Contoh: @Botname! Tidak Jadwal Terakhir # Hapus Pesan Terakhir Ditambahkan @Botname! Jangan Jadwal Semua # Hapus Semua Pesan @Botname! Untcedule 2 # Hapus Pesan # 2 @Botname! Desak Jadwal 5 6 # Hapus Pesan 5 dan 6 Hanya Pengguna Perselisihan yang terdaftar di 'Discord_admin_users' dalam file konfigurasi bot yang dapat menggunakan perintah ini.
remindmeingatkan [Reminder_text] di | on | at [time_description] Siapkan pengingat. Setelah waktu yang ditentukan, bot akan mengirimi Anda DM dengan apa pun teks yang Anda berikan untuk [Reminder_Text]. [Reminder_Text] harus diganti dengan teks apa pun yang Anda inginkan dalam pesan pengingat, misalnya hal yang ingin Anda diingatkan. [time_description] harus diganti dengan deskripsi waktu yang diinginkan sebelumnya Pengingat dikirim. Waktu dapat dijelaskan dengan salah satu cara berikut: - Periode penundaan absolut yang ditulis dalam bahasa Inggris, menggunakan digit (misalnya "5") bukannya kata -kata (misalnya "lima") untuk nilai angka. Misalnya: "1 menit", "2 jam dan 3 menit", "2hrs3mins", "2 jam & 3 menit" - Tanggal dan waktu tertentu, ditulis dalam salah satu format berikut: * Dd/mm/yyyy hh: mm * Yyyy/mm/dd hh: mm * HH: mm dd/mm/yyyy * Hh: mm yyyy/mm/dd Catatan: Jika Anda menggunakan tanggal/waktu tertentu, Anda harus terlebih dahulu memberi tahu bot yang mana TimeZone Anda menggunakan perintah "! Timezone". Dengan begitu, Anda dapat memberikan tanggal/waktu di zona waktu setempat. Anda hanya perlu mengatur zona waktu Anda sekali, bot akan remember it (see "@BotName !help timezone" for more details about how to set your timezone). Sending the command with no arguments returns the list of active reminders for the user that sent the command. Contoh: @BotName !remindme # Query current reminders for me @BotName !remindme To take out the trash... in 12 hours # schedule reminder in 12 hours @BotName !remindme to take a shower :D in 1 day and 5 mins # Schedule reminder in 1 day and 5 minutes @BotName !remindme to brush my teeth on 22/4/2025 14:30 # Schedule reminder at specific date & time All discord users may use this command.
unremindunremind [reminder_number] [reminder_number] ... unremind all unremind last Remove one or more reminders by number. [reminder_number] should be replaced with the number of the reminder you want to remove, as shown by the output of running the '!remindme' command with no arguments. Alternatively, instead of passing numbers, you can pass a single argument of "all" to remove all reminders at once, or "last" to remove the last reminder that you scheduled. Contoh: @BotName !unremind last # Remove last added reminder @BotName !unremind all # Remove all reminders @BotName !unremind 2 # Remove reminder #2 @BotName !unremind 5 6 # Remove reminders 5 and 6 All discord users may use this command.
triviatrivia [time_limit] Fetch a trivia question from opentdb.com and allow all discord users to provide an answer until the time limit is up. Whoever provides the correct answer first gets 2 points, and any other correct answers that came after that get 1 point. If the correct answer is not provided, then no points are awarded. [time_limit] should be replaced with the desired time limit for the question, in seconds. This parameter is optional; if no time limit is provided then a time limit of 60 seconds will be used. Contoh: @BotName !trivia All discord users may use this command.
triviascorestriviascores Shows total score for all discord users who have ever answered a trivia question correctly. The first correct answer to a trivia question gets 2 points, and all other correct answers get 1 point. Contoh: @BotName !triviascores All discord users may use this command.
story story new|add|continue|show|stop [optional story contribution text]
Interact with the story being written on the current discord channel.
The first argument to this command may be one of the following 5 operations:
new - Start a new story in this channel.
add - Contribute the next part of the story being written on this channel.
[optional story contribution text] should be replaced with your desired
text for the next part of the story.
continue - Instead of starting a new story with a random prompt, add to an existing
story by providing the whole story. [optional story contribution text]
should be replaced with the text of the story that you want to continue.
(Note: if your story is too large to fit in a single discord message,
you may need to start with a smaller portion of the story, and afterwards
add the remaining text using the '!story add' command)
show - Show the current story as written so far.
stop - Stop the story writing session, and show the story as written so far.
Contoh:
@BotName !story new (Provide a random prompt to start a new story)
@BotName !story add And then he fell down... (Contribute to the current story)
@BotName !story continue Call me Ishmael (Start new story with provided text, no prompt)
@BotName !story show (Show the story as written so far)
@BotName !story stop (Stop the story)
All discord users may use this command.
socialcreditsocialcredit [top] Show your social credit score. The scoring algorithm is designed to favour users who interact regularly with the server, as long as those interactions are not "spread thinly" throughout the server. For example, posting a lot of messages in a single channel every day may make your score go up, but posting one message in all channels very infrequently may make your score go down. Using the command with no arguments shows your own social credit score. Using the command with a single argument of "top" (eg "!socialcredit top") shows the 10 users with the highest social credit score. Contoh: @BotName !socialcredit # Show your social credit score @BotName !socialcredit top # Show highest 10 scores All discord users may use this command.