rboot
هو إطار عمل chatbot بسيط وفعال مكتوب بلغة golang
، وهو سهل التوسع ويمكنه العمل على خدمات دردشة مختلفة، ويمكنه تنفيذ聊天
工作助手
服务监控
警报触发
ووظائف أخرى من خلال البرامج النصية الموسعة.
جولانج v1.13+
$ go get github.com/ghaoo/ rboot
$ cd $GOPATH /github.com/ghaoo/ rboot /robot
$ go build
$ ./robot
يتم استخدام محول الرسائل لمراقبة الرسائل الواردة والصادرة، ومن خلال محول الرسائل، يمكن إرسال رسائل عميل الدردشة إلى الروبوت بعد معالجتها بواسطة البرنامج النصي.
يوفر rboot
تطبيقًا بسيطًا لإصدار الويب الخاص命令行cli
微信网页版
لمحول倍洽
WeChat钉钉
企业微信
.
لا يوفر Plugin
العديد من المكونات الإضافية الجاهزة، باستثناء مكون إضافي help
، ويحتاج الآخرون إلى التطوير بواسطة المطورين وفقًا لاحتياجاتهم الخاصة.
مساعدة في استخدام البرنامج المساعد :
!help <plugin>
: عرض معلومات تعليمات البرنامج الإضافي عندما لا يتضمن الأمر اسم البرنامج الإضافي، سيتم إدراج كافة معلومات مساعدة البرنامج الإضافي مع اسم البرنامج الإضافي، فقط معلومات المساعدة الخاصة بهذا البرنامج الإضافي. سيتم سردها.
توجد حالات بسيطة للمكونات الإضافية ضمن المجلد
robot/plugins
ويمكن للمطورين التحقق من كيفية كتابة المكونات الإضافية.
لا يمكن Plugin
استخدام golang لكتابة المكونات الإضافية فحسب، بل يمكنه أيضًا استخدام المكونات الإضافية للبرنامج النصي لتنفيذ أوامر النظام أو ملفات المكونات الإضافية المكتوبة بلغات البرامج النصية.
البرنامج النصي الإضافي هو مكون Plugin
يستخدم لتحليل لغات البرنامج النصي وهو امتداد للمكون الإضافي rboot . تنفيذ أوامر النظام أو البرامج النصية من خلال ملفات تكوين yaml
.
نظرًا لأن المكونات الإضافية للبرنامج النصي مبنية على
Plugin
، فسيتم تسجيل كل برنامج نصي فيPlugin
، لذا تأكد من عدم تداخل أسماء المكونات الإضافية، وإلا فقد يتم استبدال المكون الإضافي المسجل أولاً بالمكون الإضافي المسجل لاحقًا!
PLUGIN_DIR
: المجلد الذي يتم فيه تخزين ملف تكوين البرنامج النصي الإضافي إذا لم يتم تكوينه، فالمجلد الافتراضي هو scripts
يمكننا إنشاء مكون إضافي للبرنامج النصي عن طريق إنشاء ملف yaml
، وتكوين المكون الإضافي للبرنامج النصي من خلال خيارات التكوين الموجودة في الملف. على سبيل المثال، نقوم بإنشاء ملف hello.yml
بالمحتوى التالي:
name : hello
version : 0.1.0
ruleset :
hello : " ^hello "
usage :
hi : echo hello world and 你好
description : 脚本插件示例
command :
-
cmd :
- echo hi
- echo hello world
-
dir : plugins
cmd :
- echo 你好
يستخدم هذا البرنامج الإضافي أمر النظام echo
. ما يعنيه ذلك هو: عندما ندخل "hello"، سيعرض البرنامج النصي ثلاث رسائل: hi
و hello world
و你好
.
معنى كل حقل في التكوين:
إعدادات | يجب | دلالة |
---|---|---|
اسم | نعم | اسم البرنامج المساعد |
مجموعة القواعد | نعم | مجموعة القاعدة |
إصدار | لا | نسخة البرنامج المساعد |
الاستخدام | لا | استخدام المكونات الإضافية |
وصف | لا | مقدمة البرنامج المساعد |
يأمر | نعم | مجموعة أوامر المكونات الإضافية |
--- | --- | --- |
دير | لا | مجلد تنفيذ الأوامر |
كمد | نعم | أوامر البرنامج المساعد |
يمكن
command
تكوين مجموعات أوامر متعددة، ويكون ترتيب التنفيذ من الأعلى إلى الأسفل.يمكن تكوين
cmd
بأوامر متعددة، ويكون ترتيب التنفيذ من الأعلى إلى الأسفل.
تدعم المكونات الإضافية للبرنامج النصي系统命令
脚本语言
. يشبه وضع أمر النظام hello.yml
أعلاه. ما عليك سوى ملء المجلد وأمر النظام في الملف. عند إصدار الأمر، سيقوم الروبوت بتنفيذه بالتسلسل من الأعلى إلى الأسفل.
لغة البرمجة النصية هي طريقة تنفيذ تعتمد على وضع أوامر النظام. يمكننا استخدام أوامر النظام لاستدعاء البرامج النصية للغة لتنفيذ برامج نصية أكثر تعقيدًا. على سبيل المثال، نستخدم لغة بايثون لإخراج عبارة "hello robot".
نص بايثون الخاص بنا هو كما يلي:
#!/usr/bin/env python
print ( "Hello, robot! i am a python script" )
ملف التكوين الخاص بنا هو كما يلي:
name : pyscript
version : 0.1.0
ruleset :
py : " ^hello python "
usage :
py : execute python script
description : python插件示例
command :
dir : script
cmd :
- ./hello.py
عندما ندخل hello python
، سيستدعي الروبوت البرنامج النصي hello.py
، وسيخرج البرنامج النصي "Hello, robot! i am a python script" ويعرضه لنا من خلال الروبوت.
الرجاء التأكد مما إذا كان
目录分隔符
يطابق إعدادات النظام الحالية ضمن أنظمة تشغيل مختلفة. من فضلك استخدمه تحتwindows
يرجى استخدامه
/
تحتunix
يستخدم هذا المشروع ترخيص MIT مفتوح المصدر، ويمكن العثور على تعليمات الترخيص الكاملة في ملف الترخيص.