Files
Gestion_sondes/alerte_sms.py

34 lines
1.3 KiB
Python

def send_sms(message: str, site: str) -> None:
phone_numbers = PHONE_NUMBERS_BY_SITE.get(site)
if not phone_numbers or phone_numbers == ['']:
print(f"[!] Aucun numéro défini pour le site {site}. SMS non envoyé.")
return
try:
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"),
)
sender = os.getenv("OVH_SMS_SENDER")
account = os.getenv("OVH_SMS_ACCOUNT")
result = client.post(f"/sms/{account}/jobs",
sender=sender,
message=message,
receivers=phone_numbers,
priority='high',
noStopClause=True,
charset='UTF-8',
class_='phoneDisplay',
coding='7bit',
senderForResponse=False,
validityPeriod=2880)
print(f"[✓] SMS envoyé à {phone_numbers} pour {site}")
# Optionnel : journaliser_sms(message, site, phone_numbers)
except Exception as e:
print(f"[!] Erreur envoi SMS OVH : {e}")