Guest User

Untitled

a guest
Mar 7th, 2023
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. import os
  2. import telebot
  3. from telebot.types import InputMediaPhoto
  4. from watchdog.observers import Observer
  5. from watchdog.events import FileSystemEventHandler
  6.  
  7. TOKEN = ''
  8.  
  9. bot = telebot.TeleBot(TOKEN)
  10.  
  11. chat_id = ''
  12.  
  13. sent_files = set()
  14.  
  15. class Handler(FileSystemEventHandler):
  16. def on_created(self, event):
  17. if event.is_directory:
  18. return None
  19.  
  20. filename = os.path.basename(event.src_path)
  21.  
  22. # Проверяем, что это графический файл и он ещё не был отправлен
  23. if filename.lower().endswith(('.jpg', '.jpeg', '.png', '.gif')) and filename not in sent_files:
  24.  
  25. # Добавляем файл в множество отправленных
  26. sent_files.add(filename)
  27.  
  28. # Получаем размер файла
  29. file_size = os.stat(event.src_path).st_size
  30.  
  31. if file_size <= 50 * 1024 * 1024: # Если файл меньше 50 МБ, отправляем его одним сообщением
  32. with open(event.src_path, 'rb') as file:
  33. bot.send_document(chat_id, file)
  34.  
  35. else: # Если файл больше 50 МБ, отправляем его в нескольких сообщениях-частях
  36. with open(event.src_path, 'rb') as file:
  37. file_parts = []
  38. chunk_size = 50 * 1024 * 1024
  39. while True:
  40. chunk = file.read(chunk_size)
  41. if not chunk:
  42. break
  43. file_parts.append(chunk)
  44.  
  45. media = [InputMediaPhoto(file_part) for file_part in file_parts]
  46. bot.send_media_group(chat_id, media)
  47.  
  48. event_handler = Handler()
  49. observer = Observer()
  50. observer.schedule(event_handler, 'D:/', recursive=False)
  51. observer.start()
  52.  
  53. try:
  54. while True:
  55. pass
  56. except KeyboardInterrupt:
  57. observer.stop()
  58. observer.join()
Advertisement
Add Comment
Please, Sign In to add comment