68 lines
2.2 KiB
Python
68 lines
2.2 KiB
Python
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) |