rboot
— это простая и эффективная среда чат-ботов, написанная на golang
, которую легко расширить. Она может работать с различными службами чата и может реализовывать聊天
,工作助手
,服务监控
,警报触发
и другие функции с помощью расширенных сценариев.
голанг v1.13+
$ go get github.com/ghaoo/ rboot
$ cd $GOPATH /github.com/ghaoo/ rboot /robot
$ go build
$ ./robot
Адаптер сообщений используется для мониторинга входящих и исходящих сообщений. Через адаптер сообщений сообщения клиента чата могут быть отправлены роботу. После обработки сценарием возвращенное сообщение отправляется клиенту.
rboot
обеспечивает простую реализацию微信网页版
命令行cli
WeChat企业微信
адаптера倍洽
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
. Это означает следующее: когда мы вводим «привет», скрипт вернет три сообщения: hi
, hello world
и你好
.
Значение каждого поля в конфигурации:
Конфигурация | должен | значение |
---|---|---|
имя | да | Название плагина |
набор правил | да | набор правил |
версия | нет | Версия плагина |
использование | нет | Использование плагина |
описание | нет | Знакомство с плагином |
команда | да | Набор команд плагина |
--- | --- | --- |
реж. | нет | Папка выполнения команд |
cmd | да | Команды плагина |
command
может настроить несколько наборов команд, порядок выполнения сверху вниз.
cmd
можно настроить с помощью нескольких команд, порядок выполнения сверху вниз.
Плагины сценариев поддерживают系统命令
и脚本语言
. Режим системных команд аналогичен приведенному выше файлу hello.yml
. Просто заполните папку и системную команду в файле. Когда вы вводите команду, робот выполнит ее последовательно сверху вниз.
Язык сценариев — это метод выполнения, основанный на режиме системных команд. Мы можем использовать системные команды для вызова языковых сценариев для выполнения более сложных сценариев. Например, мы используем Python для вывода «привет, робот».
Наш скрипт Python выглядит следующим образом:
#!/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
, и скрипт выводит «Привет, робот! Я скрипт Python» и отображает его нам через робота.
Пожалуйста, подтвердите, соответствует ли
目录分隔符
текущим системным настройкам в разных операционных системах. Пожалуйста, используйте его подwindows
пожалуйста, используйте
/
подunix
В этом проекте используется лицензия с открытым исходным кодом MIT, а полные инструкции по лицензированию можно найти в файле LICENSE.