Updated repo
This commit is contained in:
parent
11f0cdac4b
commit
bc2e9714b3
|
@ -0,0 +1,2 @@
|
|||
__pycache__/
|
||||
secrets.py
|
|
@ -0,0 +1,37 @@
|
|||
## GLaDOS bot
|
||||
|
||||
Ce bot recoit des requêtes Gitea, les parse et poste des messages en tant que GLaDOS sur la shoutbox.
|
||||
|
||||
## Configuration du backend
|
||||
|
||||
1. Copier le contenu du dépot dans `/home/pc/gitea-bot/`
|
||||
2. Placer `gitea-bot.service` dans `/etc/systemd/system/`
|
||||
3. Copier le cookie de session de GLaDOS dans `secrets.py`
|
||||
4. Démarrer le service `gitea-bot`
|
||||
|
||||
En soit le cookie peut être celui de n'importe quel membre ayant le droit de causer sur la shout. Par contre ça ne sera plus GLaDOS qui causera.
|
||||
|
||||
## Configuration de Gitea
|
||||
|
||||
Les webhooks peuvent être activés par dépôt ou globalement.
|
||||
Il est aussi possible de pousser des webhooks par défaut sur les dépôts nouvellement créés.
|
||||
|
||||
**Activer les hooks de manière globale va déclencher des requêtes pour tous les dépôts, y compris les privés !**
|
||||
Ça veut dire qu'il peut être bien de faire du filtrage dans le script si on veut éviter les annonces de dépôts confidentiels.
|
||||
|
||||
Pour activer les webhooks globalement, aller [dans le panel admin](https://gitea.planet-casio.com/admin/system-hooks).
|
||||
|
||||
- Url cible : `http://localhost:5000/`, le service qui écoute les requêtes
|
||||
- Méthode HTTP : `POST`
|
||||
- Type de contenu : `application/json`
|
||||
- Confidentiel : Un token pour authentifier Gitea le cas échéant.
|
||||
|
||||
Sélectionner des éléments qui déclencheront des évènements, vérifier que le crochet est actif puis valider.
|
||||
|
||||
Les derniers évènements sont affichés sous le formulaire.
|
||||
|
||||
## Traiter de nouveaux évènements
|
||||
|
||||
La documentation sur les events est disponible [ici](https://docs.gitea.io/en-us/webhooks/).
|
||||
|
||||
Le script actuel est pas fou, n'hésitez pas à proposer des améliorations ! :)
|
4
app.py
4
app.py
|
@ -1,4 +1,5 @@
|
|||
from flask import Flask, request
|
||||
from secrets import cookie
|
||||
import requests as r
|
||||
|
||||
app = Flask(__name__)
|
||||
|
@ -38,7 +39,6 @@ def main():
|
|||
if msg:
|
||||
msg = f"[gray][i]{msg}[/i][/gray]"
|
||||
r.post("https://www.planet-casio.com/Fr/shoutbox/api/post",
|
||||
data={"message": msg, "channel": "dev"},
|
||||
cookies={"planete_casio_session":"SomeSessionCookieFromGlados"})
|
||||
data={"message": msg, "channel": "dev"}, cookies=cookie)
|
||||
|
||||
return "OK"
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=Gitea events to shoutbox
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=pc
|
||||
WorkingDirectory=/home/pc/gitea-bot/
|
||||
ExecStart=flask run
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,2 @@
|
|||
# A cookie for GLaDOS
|
||||
cookie = {"planete_casio_session":"SomeSessionCookieFromGlados"}
|
Loading…
Reference in New Issue