Ajout de fonctionnalités majeures Twitch, Discord et interface web
Nouvelles fonctionnalités : - Système de modération Twitch complet (bans, timeouts, avertissements) - Filtre de liens intelligent pour Twitch avec whitelist/blacklist - Notifications d'événements Twitch (follows, subs, raids, etc.) - Système Freeloot Discord avec flux RSS dédié - Salons automatiques Discord (création/suppression dynamique) - Authentification utilisateur pour l'interface web (login/register) - Gestion des utilisateurs et permissions - Interface de modération Twitch dans la webapp - Interface de gestion des événements Twitch - Configuration des paramètres utilisateur - Migration BDD pour les mots bannis Améliorations de l'interface : - Refonte complète des templates (configurations, commandes, humeurs, etc.) - Nouvelle page de settings utilisateur - Page de gestion des utilisateurs (admin) - Page d'erreur 403 personnalisée - Amélioration de la navigation et du design global - Intégration de nouvelles sections dans le menu principal Modifications techniques : - Ajout de nouveaux modèles en base de données - Extension des helpers database - Mise à jour des dépendances (requirements.txt) - Amélioration de la gestion des annonces Twitch - Refactorisation du code pour meilleure maintenabilité Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -8,6 +8,8 @@ from database.helpers import ConfigurationHelper
|
||||
from database.models import GameBundle
|
||||
from discord import Client
|
||||
|
||||
_humblebundle_first_check = True
|
||||
|
||||
|
||||
def _isEnable():
|
||||
helper = ConfigurationHelper()
|
||||
@@ -40,10 +42,22 @@ def _formatMessage(bundle):
|
||||
return message
|
||||
|
||||
async def checkHumbleBundleAndNotify(bot: Client):
|
||||
global _humblebundle_first_check
|
||||
if _isEnable() :
|
||||
try :
|
||||
bundles = _callGithub()
|
||||
bundle = _findFirstNotNotified(bundles)
|
||||
|
||||
# Premier check : synchronisation sans notification
|
||||
if _humblebundle_first_check:
|
||||
if bundle != None:
|
||||
logging.info(f'HumbleBundle: première vérification, synchronisation sans notification pour {bundle["name"]}')
|
||||
db.session.add(GameBundle(url=bundle['url'], name=bundle['name'], json = json.dumps(bundle)))
|
||||
db.session.commit()
|
||||
_humblebundle_first_check = False
|
||||
return
|
||||
|
||||
# Vérifications normales ensuite
|
||||
if bundle != None :
|
||||
message = _formatMessage(bundle)
|
||||
await bot.get_channel(ConfigurationHelper().getIntValue('humble_bundle_channel')).send(message)
|
||||
|
||||
Reference in New Issue
Block a user