lsit user

This commit is contained in:
gpatruno
2025-07-20 02:53:10 +02:00
parent 2041e72342
commit 9725cd7a7c
8 changed files with 1087 additions and 11 deletions
+46
View File
@@ -0,0 +1,46 @@
import asyncio
import argparse
from urllib.parse import urlparse
from pytmi import Client # Assurez-vous que c'est le nom correct de votre module et qu'il est correctement installé.
async def send_message_to_twitch_stream(pseudo, token, stream_url, message):
parsed_url = urlparse(stream_url)
channel = parsed_url.path.lstrip('/')
try:
async with Client() as client:
try:
print("Tentative de login")
await client.login_oauth(token, pseudo)
print("Tentative de join")
await client.join(channel)
print("Tentative d'envoi de message")
await client.send_message(message)
print("Message envoyé avec succès.")
# Attendre un peu avant de se déconnecter pour s'assurer que le message est envoyé
await asyncio.sleep(2)
print("Déconnexion...")
except Exception as e:
print(f"Erreur lors de l'interaction avec Twitch: {type(e).__name__}, {e}")
except AttributeError as e:
if "'Client' object has no attribute 'part'" in str(e):
print("Message envoyé avec succès. (Erreur de déconnexion ignorée - bug connu de pytmi)")
else:
print(f"Erreur AttributeError: {e}")
except Exception as e:
print(f"Erreur inattendue: {type(e).__name__}, {e}")
async def main():
parser = argparse.ArgumentParser()
parser.add_argument('-pseudo', type=str, required=True, help='Pseudo name account')
parser.add_argument('-token', type=str, required=True, help='Token oauth')
parser.add_argument('-message', type=str, required=True, help='Message to send')
parser.add_argument('-twitchname', type=str, required=True, help='Twitch channel name')
args = parser.parse_args()
stream_url = "https://www.twitch.tv/"+args.twitchname
await send_message_to_twitch_stream(pseudo=args.pseudo, token=args.token, stream_url=stream_url, message=args.message)
if __name__ == "__main__":
asyncio.run(main())