Compare commits

...

4 Commits
main ... main

  1. 1
      .gitignore
  2. 72
      README.md
  3. 3
      bridge.py
  4. 4
      shoutbox.py
  5. 6
      users.py

1
.gitignore vendored

@ -1,5 +1,4 @@
cookies.py
sasl.py
users.py
__pycache__/

@ -0,0 +1,72 @@
# Shoutbridge
### Le bot qui lie l'IRC a la v4
Le bridge est un bot dont le but est de lier l'IRC avec la shoutbox de la v4.
## Installation
```
$ git clone https://gitea.planet-casio.com/devs/shoutbridge.git
$ git submodule init
$ git submodule update
```
## Configuration
### Identifiants
Pour connecter un compte, il faut créer un fichier `cookies.py` contenant les
identifiants du compte et le cookie de session de la v4.
*Vous pouvez utiliser un compte quelconque, mais le say-as ne fonctionnera pas.*
```python
# secrets.py
# The v4 cookie for the bot
cookies = {
'remember_web_59ba36addc2b2f9401580f014c7f58ea4e30989d': '',
'XSRF-TOKEN': '',
'planete_casio_session': '',
'session_code': ''
}
```
Pour la connexion a l'IRC il faut un fichier `sasl.py` contenant les
identifiants SASL pour l'IRC.
*N'importe quel compte peut être utilisé ici*
```python
# sasl.py
# The v5 account informations
nick = "Username"
password = "P@ssword"
```
## Conversion des noms d'utilisateurs et say-as
Pour la conversion des noms d'utilisateurs et le say-as sur la Shoutbox il faut
un fichier `users.py` qui contient.
```python
users = [
("Dark Storm", "Darks"),
("Dark Storm", "Eldeberen"),
("Breizh_craft", "Breizh"),
("Eragon", "eragon")
]
```
## Lancement
Pour lancer le bot, exécutez simplement `bridge.py`.
```bash
$ python bridge.py
2022-03-10 10:35:32,310 [INFO] <irc.py> callback: added callback handle_irc
2022-03-10 10:35:32,311 [INFO] <shoutbox.py> callback: added callback handle_shoutbox
2022-03-10 10:35:32,436 [INFO] <irc.py> join: joined #hs
2022-03-10 10:35:32,436 [INFO] <irc.py> join: joined #projets
2022-03-10 10:35:32,436 [INFO] <irc.py> join: joined #annonces
2022-03-10 10:37:52,310 [INFO] <irc.py> run: received eragon to #projets: Darks, faudra que tu regarde mais une fois sur 4 j'ai un SIGSEGV, j'ai aussi le thread IRC (je pense) qui plante/timeout et se connecte jamais, il y a aussi le bug du thread Shoutbox qui crash quand la requète répond pas assez vite
2022-03-10 10:37:52,310 [INFO] <irc.py> run: matched <lambda>
2022-03-10 10:38:08,118 [INFO] <shoutbox.py> handler: matched <lambda>
[...]
```

@ -1,7 +1,4 @@
import json
import logging
import requests as r
import time
from irc import IRC

@ -3,9 +3,9 @@ import requests as r
import logging
import time
from functools import wraps
from queue import Queue
from threading import Thread
class Shoutbox(object):
def __init__(self, cookies):
self.channels = {'annonces': 0, 'projets': 0, 'hs': 0}
@ -49,6 +49,8 @@ class Shoutbox(object):
return callback
def post(self, user, msg, channel, users):
if msg.startswith("ACTION"):
msg = msg.replace("ACTION", "/me")
if any(user in t for t in users):
for i in users:
if i[1] == user:

@ -0,0 +1,6 @@
users = [
("Dark Storm", "Darks"),
("Dark Storm", "Eldeberen"),
("Breizh_craft", "Breizh"),
("Eragon", "eragon")
]
Loading…
Cancel
Save