Система Windows10
Python 3.8.5
Пытаюсь объеденить две программы, нужно что бы бот при появлении нового файла в папке отправлял его содержимого в телеграмм.
При таком коде не выполняется часть кода отвечающая за слежение за изменениями в папке.
import telebot import config import random from telebot import types import sys import time #import logging from watchdog.observers import Observer #from watchdog.events import LoggingEventHandler from watchdog.events import FileSystemEventHandler bot = telebot.TeleBot(config.TOKEN) with open("test.txt") as file: rline = file.read() @bot.message_handler(content_types=['text']) def lalala(message): if message.chat.type == 'private': if message.text == '🎲 Рандомное число': bot.send_message(message.chat.id, str(rline)) elif message.text == '😊 Как дела?': markup = types.InlineKeyboardMarkup(row_width=2) item1 = types.InlineKeyboardButton("Хорошо", callback_data='good') item2 = types.InlineKeyboardButton("Не очень", callback_data='bad') markup.add(item1, item2) bot.send_message(message.chat.id, 'Отлично, сам как?', reply_markup=markup) else: bot.send_message(message.chat.id, 'Я не знаю что ответить 😢') @bot.callback_query_handler(func=lambda call: True) def callback_inline(call): try: if call.message: if call.data == 'good': bot.send_message(call.message.chat.id, 'Вот и отличненько 😊') elif call.data == 'bad': bot.send_message(call.message.chat.id, 'Бывает 😢') # remove inline buttons bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="😊 Как дела?", reply_markup=None) # show alert bot.answer_callback_query(callback_query_id=call.id, show_alert=False, text="ЭТО ТЕСТОВОЕ УВЕДОМЛЕНИЕ!!11") except Exception as e: print(repr(e)) # RUN bot.polling(none_stop=True) class EventHandler(FileSystemEventHandler): # вызывается на событие создания файла или директории def on_created(self, event): bot.send_message(message.chat.id, str(rline)) # вызывается на событие модификации файла или директории def on_modified(self, event): print(event.event_type,event.src_path) # вызывается на событие удаления файла или директории def on_deleted(self, event): print(event.event_type,event.src_path) # вызывается на событие перемещения\переименования файла или директории def on_moved(self, event): print(event.event_type,event.src_path,event.dest_path) if __name__ == "__main__": #logging.basicConfig(level=logging.INFO, # format='%(asctime)s - %(message)s', # datefmt='%Y-%m-%d %H:%M:%S') path = r"C:\Work\export" # отслеживаемая директория с нужным файлом event_handler = EventHandler() observer = Observer() observer.schedule(event_handler, path, recursive=True) observer.start() try: while True: time.sleep(1) except KeyboardInterrupt: observer.stop() observer.join()