mirror of
https://github.com/skylanix/MamieHenriette.git
synced 2026-02-12 11:20:38 +01:00
Améliore le healthcheck Docker pour détecter les erreurs en temps réel
This commit is contained in:
@@ -37,14 +37,16 @@ class TwitchBot() :
|
||||
if _isConfigured() :
|
||||
try :
|
||||
helper = ConfigurationHelper()
|
||||
self.twitch = await Twitch(helper.getValue('twitch_client_id'), helper.getValue('twitch_client_secret'))
|
||||
await self.twitch.set_user_authentication(helper.getValue('twitch_access_token'), USER_SCOPE, helper.getValue('twitch_refresh_token'))
|
||||
self.chat = await Chat(self.twitch)
|
||||
self.twitch = await asyncio.wait_for(Twitch(helper.getValue('twitch_client_id'), helper.getValue('twitch_client_secret')), timeout=30.0)
|
||||
await asyncio.wait_for(self.twitch.set_user_authentication(helper.getValue('twitch_access_token'), USER_SCOPE, helper.getValue('twitch_refresh_token')), timeout=30.0)
|
||||
self.chat = await asyncio.wait_for(Chat(self.twitch), timeout=30.0)
|
||||
self.chat.register_event(ChatEvent.READY, _onReady)
|
||||
self.chat.register_event(ChatEvent.MESSAGE, _onMessage)
|
||||
# chat.register_event(ChatEvent.SUB, on_sub)
|
||||
self.chat.register_command('hello', _helloCommand)
|
||||
self.chat.start()
|
||||
except asyncio.TimeoutError:
|
||||
logging.error('Timeout lors de la connexion à Twitch. Vérifiez votre connexion réseau.')
|
||||
except Exception as e:
|
||||
logging.error(f'Échec de l\'authentification Twitch. Vérifiez vos identifiants et redémarrez après correction : {e}')
|
||||
else:
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import asyncio
|
||||
import logging
|
||||
|
||||
from twitchAPI.twitch import Twitch
|
||||
@@ -36,14 +37,24 @@ async def _notifyAlert(alert : LiveAlert, stream : Stream):
|
||||
|
||||
async def _sendMessage(channel : int, message : str) :
|
||||
logger.info(f'Envoi de notification : {message}')
|
||||
await bot.get_channel(channel).send(message)
|
||||
logger.info(f'Notification envoyé')
|
||||
try:
|
||||
await asyncio.wait_for(bot.get_channel(channel).send(message), timeout=30.0)
|
||||
logger.info(f'Notification envoyée')
|
||||
except asyncio.TimeoutError:
|
||||
logger.error(f'Timeout lors de l\'envoi de notification live alert')
|
||||
except Exception as e:
|
||||
logger.error(f'Erreur lors de l\'envoi de notification live alert : {e}')
|
||||
|
||||
async def _retreiveStreams(twitch: Twitch, alerts : list[LiveAlert]) -> list[Stream] :
|
||||
streams : list[Stream] = []
|
||||
logger.info(f'Recherche de streams pour : {alerts}')
|
||||
async for stream in twitch.get_streams(user_login = [alert.login for alert in alerts]):
|
||||
streams.append(stream)
|
||||
logger.info(f'Ces streams sont en ligne : {streams}')
|
||||
try:
|
||||
async for stream in asyncio.wait_for(twitch.get_streams(user_login = [alert.login for alert in alerts]), timeout=30.0):
|
||||
streams.append(stream)
|
||||
logger.info(f'Ces streams sont en ligne : {streams}')
|
||||
except asyncio.TimeoutError:
|
||||
logger.error('Timeout lors de la récupération des streams Twitch')
|
||||
except Exception as e:
|
||||
logger.error(f'Erreur lors de la récupération des streams Twitch : {e}')
|
||||
return streams
|
||||
|
||||
|
||||
Reference in New Issue
Block a user