Сторожевой таймер и отправка сообщений с помощью TelethonPython

Программы на Python
Ответить
Anonymous
 Сторожевой таймер и отправка сообщений с помощью Telethon

Сообщение Anonymous »

Я хотел бы наблюдать за изменениями файловой системы с помощью сторожевого таймера и дополнительно отправить сообщение через телемарафон со следующим кодом:

Код: Выделить всё

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from telethon import TelegramClient, sync, events

api_id = 0000000
api_hash = '*'

client = TelegramClient('Name', api_id, api_hash)
client.start()

class OnMyWatch:
# Set the directory on watch
watchDirectory = "/Users/UserID/Desktop/"

def __init__(self):
self.observer = Observer()

def run(self):
event_handler = Handler()
self.observer.schedule(event_handler, self.watchDirectory, recursive=True)
self.observer.start()
try:
while True:
time.sleep(5)
except:
self.observer.stop()
print("Observer Stopped")

self.observer.join()

class Handler(FileSystemEventHandler):
@staticmethod
def on_any_event(event):
if event.event_type == 'created':
# Sending a message to myself
client.send_message('me', 'A file was created!'),

if __name__ == '__main__':
watch = OnMyWatch()
watch.run()
К сожалению, выдает следующую ошибку:

Код: Выделить всё

File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/telethon/sync.py", line 35,
in syncified
loop = asyncio.get_event_loop()

File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/events.py", line 642,
in get_event_loop
raise RuntimeError('There is no current event loop in thread %r.'

RuntimeError: There is no current event loop in thread 'Thread-2'.*
Я пытался понять, как использовать Asyncio с Telethon, но не смог это исправить, поэтому хочу получить здесь несколько ценных советов.

Подробнее здесь: https://stackoverflow.com/questions/672 ... h-telethon
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»