from abc import ABC, abstractmethod import requests class SmsProviderABC(ABC): @abstractmethod def send_sms(self, mobile: str, message: str) -> bool: pass class DefaultSmsProvider(SmsProviderABC): def send_sms(self, mobile: str, message: str) -> bool: default_provider = DosefrNavadHashtSMS() return default_provider.send_sms(mobile, message) class DosefrNavadHashtSMS(SmsProviderABC): def send_sms(self, mobile: str, message: str) -> bool: payload = { 'USERNAME': 'vsms7937', 'PASSWORD': '335577775533', 'FROM': '30005367', 'TO': int(mobile), 'TEXT': f'{message}' } r = requests.get('http://www.0098sms.com/sendsmslink.aspx', params=payload) if r.status_code == 200: return True else: return False