import requests class DhiraaguAPI: def __init__( self, phone: str = None, otp: str = None, token: str = None, account: str = None, ) -> None: self.phone = phone self.otp = otp self.token = token self.account = account self.headers = { 'Host': 'app-production.dhiraagu.com.mv', 'Content-Type': 'application/json', 'Connection': 'keep-alive', 'Accept': '*/*', 'User-Agent': 'MyDhiraagu/5.0 (mv.com.dhiraagu.app; build:1; iOS 17.5.0) Alamofire/5.6.1', 'Accept-Language': 'en-US;q=1.0, dv-MV;q=0.9, ar-MV;q=0.8', # 'Content-Length': '33', # 'Accept-Encoding': 'br;q=1.0, gzip;q=0.9, deflate;q=0.8', } if self.token: self.headers['Authorization'] = f'Bearer {self.token}' def login(self): data = requests.post( 'https://app-production.dhiraagu.com.mv/auth', json={ 'number': self.phone, 'otp': self.otp, }, ) return data.json() def bills(self): return requests.get( f'https://app-production.dhiraagu.com.mv/io/v1/info/subscribers/{self.account}/liberate/billinfo', headers=self.headers, ).json()