diff --git a/app/main.py b/app/main.py index b83b2f1..c67b6dd 100644 --- a/app/main.py +++ b/app/main.py @@ -53,32 +53,41 @@ async def tg_intgr_get(request: Request): get_comment_hook = ( f"{WEBHOOK}/task.commentitem.get.json?taskId={task_id}&ITEMID={item_id}" ) - data = requests.get(get_comment_hook) - data_json = data.json() - comment = f"\nhttps://crm.svs-tech.pro/company/personal/user/{bx_id}/tasks/task/view/{task_id}/ \n" - comment_data = data_json["result"]["POST_MESSAGE"] - comment_data = re.sub('"', "", comment_data) - comment_data = re.sub( - r"((\[)(.*?)(]))|\"", - "", - comment_data, - ) - comment += " ".join(comment_data.split(" ")[:100]) - - comment += f'\nот {data_json["result"]["AUTHOR_NAME"]}' + comment_data = requests.get(get_comment_hook) + comment_data_json = comment_data.json() mentions = re.findall( - rf"\[USER=({bx_id})\]", data_json["result"]["POST_MESSAGE"] + rf"\[USER=({bx_id})\]", comment_data_json["result"]["POST_MESSAGE"] ) - for _ in mentions: - logger.info( - "https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={tg_id}&text={comment}" + if len(mentions) > 0: + logger.info(f"sending tg mention to {bx_id}") + + get_task_hook = ( + f"{WEBHOOK}/tasks.task.get.json?taskId={task_id}&select[0]=TITLE" ) + task_data = requests.get(get_task_hook) + task_data_json = task_data.json() + + comment_data = comment_data_json["result"]["POST_MESSAGE"] + comment_data = re.sub('"', "", comment_data) + comment_data = re.sub( + r"((\[)(.*?)(]))|\"", + "", + comment_data, + ) + + comment = ( + f"Упоминание в задаче от {comment_data_json["result"]["AUTHOR_NAME"]}\n" + f"Задача: {task_data_json['result']['task']['id']} {task_data_json['result']['task']['title']}" + "https://crm.svs-tech.pro/company/personal/user/{bx_id}/tasks/task/view/{task_id}/ \n" + " ".join(comment_data.split(" ")[:100]) + ) + requests.get( f"https://api.telegram.org/bot{TOKEN}/sendMessage?chat_id={tg_id}&text={comment}" ) - return {"status": "success"} + return {"status": "success"} except Exception as e: logger.info(e) return {"status": "error"} diff --git a/app/test.py b/app/test.py new file mode 100644 index 0000000..5f47ff1 --- /dev/null +++ b/app/test.py @@ -0,0 +1,17 @@ +import re + +comment_data = "Еще один \"тестовый комментарий\" [USER=28]Игорь Жабченко[/USER] добавила вывод того, сколько тмц проинвентаризировано по областям [URL=https://toinv.svs-tech.pro/stat]https://toinv.svs-tech.pro/stat[/URL]\nЧто еще надо добавить для работы с сервисом?" +bx_id = 28 +mentions = re.findall(rf"\[USER=({bx_id})\]", comment_data) +print(len(mentions)>0) + +comment = '' +comment_data = re.sub('"', "", comment_data) +comment_data = re.sub( + r"((\[)(.*?)(]))|\"", + "", + comment_data, +) +comment += " ".join(comment_data.split(" ")[:100]) + +print(comment) \ No newline at end of file