#!/usr/bin/env python3 import cv2 import requests import telebot import sys sys.path.append("bot_config") import time from watchdog.observers import Observer from watchdog.events import PatternMatchingEventHandler import bot_config as i chat_id = i.chat_id dir_loc = i.dir_loc bot_token = i.bot_token codeai_server = i.codeai_server bot = telebot.TeleBot(bot_token) def find_human(event): image_data = open(event.src_path, "rb").read() response = requests.post(f"{codeai_server}/v1/vision/detection", files={"image":image_data}).json() send_bool = False for object in response["predictions"]: if object["label"] == "person" and object["confidence"] > 0.60: path = event.src_path image = cv2.imread(path) color = (0, 0, 255) thickness = 2 image = cv2.rectangle(image, (object["x_min"], object["y_min"]), (object["x_max"], object["y_max"]), color, thickness) cv2.imwrite(path,image) send_bool = True if send_bool == True: send_telegram(event) def send_telegram(event): time.sleep(1) bot.send_photo(chat_id=chat_id, photo=open(event.src_path, 'rb')) bot.send_message(chat_id=chat_id, text="Tweakers!") if __name__ == "__main__": patterns = ["*"] ignore_patterns = None ignore_directories = True case_sensitive = False my_event_handler = PatternMatchingEventHandler( patterns=patterns, ignore_patterns=ignore_patterns, ignore_directories=ignore_directories, case_sensitive=case_sensitive ) my_event_handler.on_created = find_human path = dir_loc go_recursively = False my_observer = Observer() my_observer.schedule(my_event_handler, path, recursive=go_recursively) my_observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: my_observer.stop() my_observer.join()