นี่คือคำสั่ง rivescriptp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
rivescript - ส่วนหน้าของบรรทัดคำสั่งสำหรับล่าม Perl RiveScript
เรื่องย่อ
$ rivescript [ตัวเลือก] [เส้นทางไปยังเอกสาร RiveScript]
DESCRIPTION
นี่คือส่วนหน้าของบรรทัดคำสั่งสำหรับล่าม RiveScript สคริปต์นี้ล้าสมัย
"rsdemo" แบบเก่าและยังสามารถใช้แบบไม่โต้ตอบโดยโปรแกรมบุคคลที่สาม เพื่อการนั้น
รองรับวิธีการจัดการอินพุต/เอาท์พุตและเซสชันที่หลากหลาย
หากไม่ได้กำหนดเส้นทางของเอกสาร RiveScript ไว้ ค่าเริ่มต้นของเส้นทางของเอกสาร RiveScript จะเป็นค่าเริ่มต้น
ด้วยโมดูล RiveScript ซึ่งอิงตามบอทของ Eliza
OPTIONS
--debug, -d
เปิดใช้งานโหมดแก้ไขข้อบกพร่อง การดำเนินการนี้จะพิมพ์ข้อมูลการดีบักทั้งหมดจาก RiveScript ไปยังเทอร์มินัลของคุณ
หากคุณต้องการให้เข้าสู่ไฟล์แทน ให้ใช้ตัวเลือก "--log" แทน
"--ดีบัก".
--log ไฟล์
เปิดใช้งานโหมดแก้ไขข้อบกพร่องและพิมพ์เอาต์พุตการดีบักไปที่ "FILE" แทนที่จะเป็นเทอร์มินัลของคุณ
--json, -j
เรียกใช้ "rivescript" ในโหมด JSON สำหรับการเรียกใช้สคริปต์ในลักษณะที่ไม่โต้ตอบ (for
ตัวอย่าง การใช้ RiveScript ในภาษาการเขียนโปรแกรมที่ไม่มีเจ้าของภาษา
ไลบรารี RiveScript) ดู "โหมด JSON" สำหรับรายละเอียด
--ข้อมูล JSON_DATA
เมื่อใช้ตัวเลือก "--json" คุณสามารถระบุข้อความอินพุต JSON เป็นคำสั่ง
อาร์กิวเมนต์บรรทัดด้วยตัวเลือก "--data" หากไม่ระบุ ข้อมูล JSON จะเป็น
อ่านจากอินพุตมาตรฐานแทน ตัวเลือกนี้มีประโยชน์ ดังนั้น หากคุณไม่ต้องการ
เพื่อเปิดไปป์สองทาง แต่ควรส่งข้อความเป็นอาร์กิวเมนต์บรรทัดคำสั่งและ
เพียงแค่อ่านการตอบสนองจากเอาต์พุตมาตรฐาน ดู "โหมด JSON" สำหรับรายละเอียดเพิ่มเติม
--ฟัง, -l [ที่อยู่:]PORT
รัน "rivescript" ในโหมด TCP สำหรับการรันสคริปต์เป็นเซิร์ฟเวอร์ daemon ถ้า
ไม่ได้ระบุที่อยู่ มันจะผูกกับ "localhost" ดู "โหมด TCP" สำหรับรายละเอียด
--เข้มงวด, --จมูก
เปิดใช้งานโหมดเข้มงวดสำหรับตัวแยกวิเคราะห์ RiveScript มันถูกเปิดใช้งานโดยค่าเริ่มต้น use
"--nostrict" เพื่อปิดการใช้งาน โหมดเข้มงวดป้องกันไม่ให้ parser ดำเนินการต่อเมื่อ
พบข้อผิดพลาดทางไวยากรณ์ในเอกสาร RiveScript
--ความลึก=50
แทนที่ขีดจำกัดความลึกของการเรียกซ้ำเริ่มต้น สิ่งนี้ควบคุมจำนวนครั้งของ RiveScript
จะติดตามการเปลี่ยนเส้นทางไปยังคำตอบอื่น ๆ ซ้ำ ๆ ค่าเริ่มต้นคือ 50
--utf8, -u
ใช้ตัวเลือก UTF-8 ใน RiveScript ซึ่งช่วยให้ทริกเกอร์มีอักขระต่างประเทศได้
และผ่อนคลายการกรองข้อความของผู้ใช้ สิ่งนี้ไม่ได้เปิดใช้งานโดยค่าเริ่มต้น!
--ช่วยด้วย
แสดงเอกสารนี้ในเทอร์มินัลของคุณ
การใช้
อินเตอร์แอคที โหมด
นี่เป็นโหมดเริ่มต้นที่ใช้เมื่อคุณเรียกใช้ "rivesscript" โดยไม่ระบุโหมดอื่น
โหมดนี้ทำงานคล้ายกับสคริปต์ "rsdemo" แบบเก่าและให้คุณสนทนาแบบตัวต่อตัวกับ
บอท RiveScript ของคุณ
โหมดนี้ใช้เพื่อทดสอบบ็อต RiveScript ของคุณ ตัวอย่าง:
$ riverscript /path/to/rs/files
JSON โหมด
ควรใช้โหมดนี้เมื่อโทรจากโปรแกรมบุคคลที่สาม ในโหมดนี้ข้อมูลที่
เข้าและออกจากสคริปต์ถูกเข้ารหัสใน JSON
ตัวอย่าง:
$ rivesscript --json /path/to/rs/files
รูปแบบสำหรับข้อมูล JSON ขาเข้ามีดังนี้:
{
"ชื่อผู้ใช้": "localuser",
"message": "สวัสดีบอท!",
"วาร์": {
"ชื่อ": "เอเดน"
}
}
ในที่นี้ "ชื่อผู้ใช้" เป็นชื่อเฉพาะสำหรับผู้ใช้ "ข้อความ" คือข้อความที่ส่งถึงบอท และ
"vars" คือแฮชของตัวแปรผู้ใช้ใดๆ ที่โปรแกรมของคุณอาจติดตามอยู่ (เช่น the
ชื่อผู้ใช้และอายุ)
คำตอบจาก "rivesscript" จะมีลักษณะดังนี้:
{
"สถานะ": "ตกลง",
"ตอบกลับ": "สวัสดีมนุษย์!",
"วาร์": {
"ชื่อ": "เอเดน"
}
}
ที่นี่ "สถานะ" จะเป็น "ตกลง" หรือ "ข้อผิดพลาด" "ตอบกลับ" คือคำตอบของบอทต่อข้อความของคุณและ
"vars" เป็นแฮชของตัวแปรปัจจุบันสำหรับผู้ใช้ (เพื่อให้โปรแกรมของคุณสามารถบันทึกได้
บางแห่ง).
Standard อินพุต or ข้อมูล
โดยค่าเริ่มต้น โหมด JSON จะอ่านจากอินพุตมาตรฐานเพื่อรับข้อความ JSON ของคุณ เป็นอัน
ทางเลือกนี้ คุณสามารถระบุตัวเลือก "--data" ให้กับ "rivescript" เพื่อนำเสนอ
ข้อมูล JSON ขาเข้าเป็นอาร์กิวเมนต์บรรทัดคำสั่ง
สิ่งนี้อาจมีประโยชน์หากคุณไม่ต้องการเปิดไพพ์แบบสองทางไปที่ "ริฟสคริปต์" และต้องการ
แทนที่จะส่งอินพุตของคุณเป็นอาร์กิวเมนต์บรรทัดคำสั่งและอ่านคำตอบจาก
เอาต์พุตมาตรฐาน
ตัวอย่าง:
$ rivescript --json --data '{"username": "localuser", "message": "hello" }' \
/path/to/rs/files
ซึ่งจะทำให้ "rivescript" พิมพ์การตอบสนอง JSON ไปยังเอาต์พุตมาตรฐานและการออก คุณ
ไม่สามารถมีเซสชันการเก็บสถานะโดยใช้วิธีนี้
ปลาย of ระบุความประสงค์หรือข้อมูลเพิ่มเติม
คุณสามารถใช้โหมด JSON ได้สองวิธี: "ไฟและลืม" หรือเก็บสถานะ
เปิดเซสชั่น
ใน "ไฟและลืม" คุณเปิดโปรแกรม พิมพ์อินพุต JSON ของคุณและส่งสัญญาณ EOF
จากนั้น "rivescript" จะส่งการตอบสนอง JSON และออกให้คุณ
ในโหมดเซสชันแบบเก็บสถานะ คุณต้องส่งข้อความ "__END__" ในบรรทัดเดียวหลังจากที่คุณ
เสร็จสิ้นการส่งข้อมูล JSON ของคุณ จากนั้น "rivescript" จะประมวลผล ส่งคืนการตอบกลับ JSON
แล้วพูดว่า "__END__" ในตอนท้ายด้วย
ตัวอย่าง:
{
"ชื่อผู้ใช้": "localuser",
"message": "สวัสดีบอท!",
"วาร์": {}
}
__จบ__
และคำตอบ:
{
"สถานะ": "ตกลง",
"ตอบกลับ": "สวัสดีมนุษย์!",
"วาร์": {}
}
__จบ__
วิธีนี้ทำให้คุณสามารถใช้ไพพ์เดิมซ้ำเพื่อส่งและรับหลายข้อความ
TCP โหมด
โหมด TCP จะทำให้ "Rivescript" ฟังบนซ็อกเก็ต TCP สำหรับการเชื่อมต่อขาเข้า ทางนี้
คุณสามารถเชื่อมต่อได้จากโปรแกรมอื่น (เช่น สคริปต์ CGI หรือโปรแกรม
เขียนเป็นภาษาอื่น)
ตัวอย่าง:
$ riverscript --listen localhost:2001
โหมด TCP ทำงานคล้ายกับ "โหมด JSON"; ความแตกต่างที่ใหญ่ที่สุดคือมันจะอ่านและ
เขียนโดยใช้ซ็อกเก็ต TCP แทนอินพุตและเอาต์พุตมาตรฐาน ต่างจากโหมด JSON อย่างไรก็ตาม
โหมด TCP เสมอ ทำงานในลักษณะ stateful (ข้อความ JSON ต้องลงท้ายด้วย text
""__END__"" ในบรรทัดเดียว) ดู "สิ้นสุดข้อความ"
หากไม่พบบรรทัด "__END__" หลังจากอ่านข้อความ 20 บรรทัดจากลูกค้า ก็จะ
ยกเลิกและส่งข้อความแสดงข้อผิดพลาดให้กับลูกค้า (เข้ารหัสใน JSON) และยกเลิกการเชื่อมต่อ
ใช้ rivscriptp ออนไลน์โดยใช้บริการ onworks.net