43 lines
1.1 KiB
Python
43 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
import ovh
|
|
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
# Dictionnaire des numéros par site
|
|
NUMEROS_PAR_SITE = {
|
|
"Saclay": ["+33635164680", "+33650270939","+33682069405"],
|
|
"Meudon": ["+33616443455"],
|
|
# ajoute d'autres sites ici
|
|
}
|
|
|
|
def envoyer_sms_ovh(message, site):
|
|
numeros = NUMEROS_PAR_SITE.get(site)
|
|
if not numeros:
|
|
print(f"[!] Aucun numéro défini pour le site {site}. SMS non envoyé.")
|
|
return
|
|
|
|
client = ovh.Client(
|
|
endpoint=os.getenv("OVH_ENDPOINT"),
|
|
application_key=os.getenv("OVH_APP_KEY"),
|
|
application_secret=os.getenv("OVH_APP_SECRET"),
|
|
consumer_key=os.getenv("OVH_CONSUMER_KEY"),
|
|
)
|
|
|
|
account = os.getenv("OVH_SMS_ACCOUNT")
|
|
|
|
try:
|
|
result = client.post(f'/sms/{account}/jobs',
|
|
sender='Supervision',
|
|
message=message,
|
|
receivers=numeros,
|
|
priority='high',
|
|
noStopClause=True,
|
|
)
|
|
print(f"[✓] SMS envoyé pour {site} à {numeros}")
|
|
return result
|
|
except Exception as e:
|
|
print(f"[!] Erreur envoi SMS OVH : {e}")
|
|
|