Browse Source

Updated repo

post-on-irc
Darks 8 months ago
parent
commit
bc2e9714b3
Signed by: Darks GPG Key ID: 7515644268BE1433
5 changed files with 55 additions and 2 deletions
  1. +2
    -0
      .gitignore
  2. +37
    -0
      README.md
  3. +2
    -2
      app.py
  4. +12
    -0
      gitea-bot.service
  5. +2
    -0
      secrets.py

+ 2
- 0
.gitignore View File

@ -0,0 +1,2 @@
__pycache__/
secrets.py

+ 37
- 0
README.md View File

@ -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 ! :)

+ 2
- 2
app.py View File

@ -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"

+ 12
- 0
gitea-bot.service View File

@ -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

+ 2
- 0
secrets.py View File

@ -0,0 +1,2 @@
# A cookie for GLaDOS
cookie = {"planete_casio_session":"SomeSessionCookieFromGlados"}

Loading…
Cancel
Save