rboot
é uma estrutura de chatbot simples e eficiente escrita em golang
, que é fácil de expandir. Ele pode funcionar em diferentes serviços de chat e pode implementar聊天
,工作助手
,服务监控
,警报触发
e outras funções por meio de scripts estendidos.
golang v1.13+
$ go get github.com/ghaoo/ rboot
$ cd $GOPATH /github.com/ghaoo/ rboot /robot
$ go build
$ ./robot
O adaptador de mensagens é usado para monitorar as mensagens recebidas e enviadas. Através do adaptador de mensagens, as mensagens do cliente de chat podem ser enviadas ao robô. Após serem processadas pelo script, a mensagem retornada é enviada ao cliente.
rboot
fornece uma implementação simples da微信网页版
命令行cli
企业微信
adaptador倍洽
empresarial WeChat钉钉
.
Plugin
não fornece muitos plug-ins prontos para uso, exceto um plug-in help
, e os demais precisam ser desenvolvidos pelos desenvolvedores de acordo com suas próprias necessidades.
ajuda no uso do plugin :
!help <plugin>
: Visualiza informações de ajuda do plug-in Quando o comando não inclui um nome de plug-in, todas as informações de ajuda do plug-in serão listadas. em será listado.
Existem casos de plug-ins simples na pasta
robot/plugins
. Os desenvolvedores podem visualizar o método de gravação do plug-in.
Plugin
não só pode usar golang para escrever plug-ins, mas também usar plug-ins de script para executar comandos do sistema ou arquivos de plug-in escritos em linguagens de script.
O plug-in de script é um Plugin
-in usado para analisar linguagens de script. É uma extensão do plug-in rboot . Execute comandos ou scripts do sistema por meio de arquivos de configuração yaml
.
Como os plug-ins de script são criados em
Plugin
, cada script será registrado emPlugin
, portanto, certifique-se de que os nomes dos plug-ins não se sobreponham, caso contrário, o plug-in registrado primeiro poderá ser substituído pelo plug-in registrado posteriormente!
PLUGIN_DIR
: A pasta onde o arquivo de configuração do plug-in de script está armazenado. Se não estiver configurado, o padrão será scripts
Podemos criar um plug-in de script criando um arquivo yaml
e configurar o plug-in de script por meio das opções de configuração no arquivo. Por exemplo, criamos um arquivo hello.yml
com o seguinte conteúdo:
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 你好
Este plug-in usa o comando do sistema echo
. O que isso significa é: quando digitamos “hello”, o script retornará três mensagens: hi
, hello world
e你好
.
O significado de cada campo na configuração:
Configuração | deve | significado |
---|---|---|
nome | sim | Nome do plug-in |
conjunto de regras | sim | conjunto de regras |
versão | não | Versão do plug-in |
uso | não | Uso de plug-ins |
descrição | não | Introdução ao plug-in |
comando | sim | Conjunto de comandos de plug-in |
--- | --- | --- |
diretório | não | Pasta de execução de comandos |
cmd | sim | Comandos de plug-in |
command
pode configurar vários conjuntos de comandos e a ordem de execução é de cima para baixo.
cmd
pode ser configurado com vários comandos e a ordem de execução é de cima para baixo.
Os plug-ins de script suportam系统命令
e脚本语言
. O modo de comando do sistema é como hello.yml
acima. Basta preencher a pasta e o comando do sistema no arquivo. Ao emitir o comando, o robô irá executá-lo em sequência de cima para baixo.
A linguagem de script é um método de execução baseado no modo de comando do sistema. Podemos usar comandos do sistema para chamar scripts de linguagem para executar scripts mais complexos. Por exemplo, usamos python para gerar "hello robot".
Nosso script python é o seguinte:
#!/usr/bin/env python
print ( "Hello, robot! i am a python script" )
Nosso arquivo de configuração é o seguinte:
name : pyscript
version : 0.1.0
ruleset :
py : " ^hello python "
usage :
py : execute python script
description : python插件示例
command :
dir : script
cmd :
- ./hello.py
Quando inserimos hello python
, o robô chamará o script hello.py
e o script produzirá "Olá, robô! Sou um script python" e o exibirá para nós por meio do robô.
Confirme se
目录分隔符
corresponde às configurações atuais do sistema em diferentes sistemas operacionais. Por favor, use-o nowindows
por favor use
/
nounix
Este projeto usa a licença de código aberto do MIT, e as instruções completas de licenciamento podem ser encontradas no arquivo LICENSE.