Ini ialah arahan rivescriptp yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
rivescript - Bahagian hadapan baris arahan kepada penterjemah Perl RiveScript.
SINOPSIS
$ rivescript [pilihan] [laluan ke dokumen RiveScript]
DESCRIPTION
Ini ialah baris arahan bahagian hadapan kepada penterjemah RiveScript. Skrip ini usang
"rsdemo" lama, dan juga boleh digunakan secara tidak interaktif oleh program pihak ketiga. Untuk itu,
ia menyokong pelbagai kaedah pengendalian input/output dan sesi.
Jika tiada laluan dokumen RiveScript diberikan, ia akan lalai kepada otak contoh yang dihantar
dengan modul RiveScript, yang berdasarkan bot Eliza.
PILIHAN
--debug, -d
Mendayakan mod nyahpepijat. Ini akan mencetak semua data nyahpepijat daripada RiveScript ke terminal anda.
Jika anda mahu log masuk ke fail sebaliknya, gunakan pilihan "--log" sebagai gantinya
"--debug".
--fail log
Mendayakan mod nyahpepijat dan mencetak output nyahpepijat ke "FILE" dan bukannya ke terminal anda.
--json, -j
Menjalankan "rivescript" dalam mod JSON, untuk menjalankan skrip dalam cara yang tidak interaktif (untuk
contoh, untuk menggunakan RiveScript dalam bahasa pengaturcaraan yang tidak mempunyai bahasa asli
perpustakaan RiveScript). Lihat "Mod JSON" untuk mendapatkan butiran.
--data JSON_DATA
Apabila menggunakan pilihan "--json", anda boleh memberikan mesej input JSON sebagai arahan
argumen baris dengan pilihan "--data". Jika tidak disediakan, maka data JSON akan menjadi
sebaliknya baca daripada input standard. Pilihan ini berguna, oleh itu, jika anda tidak mahu
untuk membuka paip dua hala, tetapi sebaliknya menghantar mesej sebagai hujah baris arahan dan
hanya membaca tindak balas daripada output standard. Lihat "Mod JSON" untuk mendapatkan butiran lanjut.
--dengar, -l [ALAMAT:]PORT
Menjalankan "rivescript" dalam mod TCP, untuk menjalankan skrip sebagai daemon pelayan. Jika an
alamat tidak ditentukan, ia akan terikat kepada "localhost". Lihat "Mod TCP" untuk mendapatkan butiran.
--ketat, --tidak ketat
Mendayakan mod ketat untuk penghurai RiveScript. Ia didayakan secara lalai, gunakan
"--nostrict" untuk melumpuhkannya. Mod ketat menghalang penghurai daripada meneruskan apabila ia
menemui ralat sintaks dalam dokumen RiveScript.
--depth=50
Gantikan had kedalaman rekursi lalai. Ini mengawal berapa kali RiveScript
akan mengikut rekursif ubah hala ke balasan lain. Lalai ialah 50.
--utf8, -u
Gunakan pilihan UTF-8 dalam RiveScript. Ini membolehkan pencetus mengandungi aksara asing
dan melegakan penapisan mesej pengguna. Ini tidak didayakan secara lalai!
- membantu
Memaparkan dokumentasi ini dalam terminal anda.
PENGGUNAAN
Interaktif mod
Ini ialah mod lalai yang digunakan apabila anda menjalankan "rivescript" tanpa menyatakan mod lain.
Mod ini berkelakuan serupa dengan skrip "rsdemo" lama dan membolehkan anda bersembang satu-satu dengannya
bot RiveScript anda.
Mod ini boleh digunakan untuk menguji bot RiveScript anda. Contoh:
$ rivescript /path/to/rs/files
JSON mod
Mod ini harus digunakan semasa membuat panggilan daripada program pihak ketiga. Dalam mod ini, data yang
masuk dan keluar skrip dikodkan dalam JSON.
Contoh:
$ rivescript --json /path/to/rs/files
Format untuk data JSON yang masuk adalah seperti berikut:
{
"nama pengguna": "pengguna tempatan",
"message": "Hello bot!",
"vars": {
"nama": "Aiden"
}
}
Di sini, "nama pengguna" ialah nama unik untuk pengguna, "mesej" ialah mesej mereka kepada bot dan
"vars" ialah cincang mana-mana pembolehubah pengguna yang mungkin dijejaki oleh program anda (seperti
nama pengguna dan umur).
Jawapan daripada "rivescript" akan kelihatan seperti berikut:
{
"status": "ok",
"reply": "Hello, manusia!",
"vars": {
"nama": "Aiden"
}
}
Di sini, "status" akan menjadi "ok" atau "ralat", "balas" ialah respons bot kepada mesej anda dan
"vars" ialah cincang pembolehubah semasa untuk pengguna (supaya program anda boleh menyimpannya
di suatu tempat).
Standard Input or Tarikh
Secara lalai, mod JSON akan membaca daripada input standard untuk menerima mesej JSON anda. Sebagai sebuah
alternatif kepada ini, anda boleh memberikan pilihan "--data" kepada "rivescript" untuk membentangkan
data JSON masuk sebagai hujah baris arahan.
Ini mungkin membantu jika anda tidak mahu membuka paip dua hala kepada "rivescript", dan akan
sebaliknya luluskan input anda sebagai hujah baris arahan dan hanya baca jawapan daripada
keluaran standard.
Contoh:
$ rivescript --json --data '{"username": "localuser", "message": "hello" }' \
/path/to/rs/files
Ini akan menyebabkan "rivescript" mencetak respons JSONnya kepada output standard dan keluar. awak
tidak boleh mengadakan sesi stateful menggunakan kaedah ini.
akhir of Mesej Anda
Terdapat dua cara anda boleh menggunakan mod JSON: "api dan lupakan," atau simpan stateful
sesi dibuka.
Dalam "api dan lupa," anda membuka program, mencetak input JSON anda dan menghantar isyarat EOF,
dan kemudian "rivescript" menghantar respons JSON kepada anda dan keluar.
Dalam mod sesi stateful, anda mesti menghantar teks "__END__" pada baris dengan sendirinya selepas anda
selesai menghantar data JSON anda. Kemudian "rivescript" akan memprosesnya, mengembalikan respons JSONnya
dan kemudian sebut juga "__END__" pada penghujungnya.
Contoh:
{
"nama pengguna": "pengguna tempatan",
"message": "Hello bot!",
"var": {}
}
__TAMAT__
Dan jawapannya:
{
"status": "ok",
"reply": "Hello, manusia!",
"var": {}
}
__TAMAT__
Dengan cara ini anda boleh menggunakan semula paip yang sama untuk menghantar dan menerima berbilang mesej.
TCP mod
Mod TCP akan membuat "rivescript" mendengar pada soket TCP untuk sambungan masuk. dengan cara ini
anda boleh menyambung kepadanya daripada program lain (contohnya, skrip CGI atau program
ditulis dalam bahasa yang berbeza).
Contoh:
$ rivescript --dengar localhost:2001
Mod TCP berkelakuan serupa dengan "Mod JSON"; perbezaan terbesar ialah ia akan membaca dan
tulis menggunakan soket TCP dan bukannya input dan output standard. Tidak seperti Mod JSON, bagaimanapun,
Mod TCP sentiasa berjalan dengan cara stateful (mesej JSON mesti berakhir dengan teks
""__END__"" pada baris dengan sendirinya). Lihat "Tamat Mesej".
Jika baris "__END__" tidak ditemui selepas 20 baris teks dibaca daripada klien, ia akan
berputus asa dan hantar mesej ralat kepada pelanggan (dikodkan dalam JSON) dan putuskan sambungannya.
Gunakan rivescriptp dalam talian menggunakan perkhidmatan onworks.net