Bot para el chat del JáquerEspeis

En el chat del JáquerEspeis hace años pusimos un bot llamado El Jaqueado, escrito con Hubot. Hacía algunas cosas, como llevar la cuenta de hidrantes mapeados, hacer tweets y retweets, y algunas otras cosas más. El código está aquí:

Hubot al final no me gustó, entonces hace unos meses hablamos con @elotrojames para reescribirlo usando errbot.

Así nació Otro El Jaqueado, nuestro nuevo bot. Está ejecutando en una servidora de James, y lo administramos él y yo.

Por ahora tiene un plugin para twitter que escribió @elotrojames:

Y un plugin de hospitalidad copiado del bot Derbyshire del CLiC, que escribí yo y que vamos a usar para que quienes están en el club de la programación practiquen python:

1 me gusta

Hay un framework para desarrollar bots, se llama rasa https://rasa.com/

podríamos unificar eljaqueado en rasa y que se conecte a los diferentes métodos de comunicación

1 me gusta

Hola @elopio, escribo por aca.


Se supone que tengo el errbot corriendo, segun yo agregue la regla al archivo .py
Pero cuando llegue a instalar venv para pruebas me perdi: python3 -m venv …/.venv-err-derbyshire
La documentacion dice: python -m venv c:\path\to\myenv
Y el plugin se instalo en errbot\data\plugins\jaquerespeis\err-derbyshire\tests
Entonces cual es la path donde debo crear el venv?

1 me gusta

¡La regla se ve bien! Gracias @yosli13.

Todo esto sería más fácil si estuvieras usando Ubuntu :wink: Pero tratemos. Mi idea al hacer el plugin fue que para ejecutar las pruebas no se necesite errbot corriendo. Entonces te paso aquí instrucciones más detalladas para desarrollar y probar el plugin sin errbot.

(vas a tener que traducirlas a windows, porque no se cómo funciona eso)

# Hacer un directorio de workspace.
mkdir -p ~/workspace/jaquerespeis
# Entrar a ese directorio.
cd ~/workspace/jaquerespeis
# Clonar el repositorio.
git clone https://gitlab.com/jaquerespeis/err-derbyshire
# Entrar al directorio del repositorio.
cd err-derbyshire
# Instalar venv.
sudo apt install python3-venv
# Hacer un virtual environment
python3 -m venv ../.venv-err-derbyshire
# Activar ese venv
source ../.venv-err-derbyshire/bin/activate
# Instalar las dependencias de desarrollo
pip install errbot testscenarios pytest
# Ejecutar las pruebas, y verificar que todas pasan.
python3 -m unittest discover tests/
# Hacer un branch nuevo.
git checkout -b regla-me-abren
# Agregar una prueba nueva en tests/test_derbyshire.py
[...]
# Ejecutar las pruebas, y verificar que todas pasan, menos la nueva.
python3 -m unittest discover tests/
# Agregar la regla en derbyshire.py
[...]
# Ejecutar las pruebas, y verificar que todas pasan.
python3 -m unittest discover tests/
# Agregar los cambios al branch
git add tests/test_derbyshire.py derbyshire.py
# Hacer commit de los cambios
git commit -m "Agregué una regla para abrir la puerta"
# Hacer push de los cambios
git push --set-upstream origin regla-me-abren
# Ir a gitlab y hacer un merge request
[...]

Es un poco tarde y no he probado esto, entonces podrían haber errores o que falten algunos pasos. Decime si tenés dudas con alguno, o si te quedás pegada.

@elotrojames otroeljaqueado está caído. ¿podés revisarlo porfa cuando tengás un rato?

@elotrojames otroeljaqueado está caído. ¿podés revisarlo porfa cuando tengás un rato?

Gracias por el aviso. Estaba desconectada la raspi… :thinking: un dundecillo ( :dog: ) anduvo por ahí. Ya está arriba otra vez el otroeljaqueado.

1 me gusta