import datetime import requests import sys from time import sleep class NotifyTelegram: def __init__(self): self.group_id: str = "-4205401512" self.bot_id: str = "7255110087:AAFXahWG9SgAS8u5TWDzUB8YD1SuzYP2o0M" self.proxies: dict = { 'http': 'socks5://192.168.160.2:7893', 'https': 'socks5://192.168.160.2:7893' } self.text: str = "empty text" def set_text(self, state: str, build_status: str, project_name: str, update_options: str) -> None: title: str = f"Build Project: {project_name}" branch_message:str = f"Update Options: {update_options}" commit_user: str = f"Commit By Administrator" finish_datetime: str = f"Finish: {datetime.datetime.now()}" start_datetime: str = f"Start: {datetime.datetime.now()}" build_status: str = f"Build Status: {build_status}" if state == "start": self.text = f"""{title}: {branch_message} {commit_user} {start_datetime} {build_status} """ elif state == "finish": self.text = f"""{title}: {branch_message} {commit_user} {finish_datetime} {build_status} """ if update_options == "None": self.text = f"""{self.text} Error: Options is Null """ else: self.text = "Empty Message" print ("Warning: state Error") def send_message(self, use_proxies: bool = False) -> None: url: str = f"https://api.telegram.org/bot{self.bot_id}/sendMessage" proxies = None if use_proxies: proxies = self.proxies params: dict = {"chat_id": self.group_id, "text": self.text} html = requests.get(url, data=params, proxies=proxies) print(html.text) x = NotifyTelegram() x.set_text(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4]) count = 1 while count <= 5: try: x.send_message(use_proxies=True) break except requests.exceptions.SSLError: print(f"SSL Error, retrying...: {count}") count += 1 sleep(3) #x = NotifyTelegram() #x.set_text(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6], sys.argv[7]) #x.send_message(use_proxies=True)