mirror of
https://github.com/Llloooggg/Jarvis.git
synced 2026-03-06 03:56:23 +03:00
62 lines
2.6 KiB
Python
62 lines
2.6 KiB
Python
# Парсер почты
|
||
import datetime
|
||
import email
|
||
import imaplib
|
||
# будильник
|
||
import threading
|
||
import time
|
||
|
||
# Будильник
|
||
# Формат строки (год месяц день час минута секунда)
|
||
#Config_time='2020 3 22 15 20 0'
|
||
def alarm_clock(Config_time):
|
||
Config_list=Config_time.split()
|
||
dt = datetime.datetime(int(Config_list[0]), int(Config_list[1]), int(Config_list[2]), int(Config_list[3]), int(Config_list[4]),
|
||
int(Config_list[5]))
|
||
diff = (dt - datetime.datetime.now()).total_seconds()
|
||
try:
|
||
time.sleep(diff)
|
||
print('сообщение в телегу текст')
|
||
except:
|
||
print('Нельзя поставить будильник в прошлое')
|
||
return
|
||
|
||
|
||
# проверка почты на новое письмо gmail
|
||
# Нужно включить https://myaccount.google.com/lesssecureapps и https://mail.google.com/mail/u/2/#settings/fwdandpop
|
||
# Формат строки (логин пароль )
|
||
#check_mail_config='login@gmail.com Password123'
|
||
|
||
def check_email(check_mail_config):
|
||
mail_config_list=check_mail_config.split()
|
||
mail = imaplib.IMAP4_SSL('imap.gmail.com', 993)
|
||
mail.login(mail_config_list[0], mail_config_list[1])
|
||
mail.list()
|
||
count_Email_Start = (mail.select("inbox")[1][0]).decode('utf-8')
|
||
while True:
|
||
mail.list()
|
||
count_Email_Current = (mail.select("inbox")[1][0]).decode('utf-8')
|
||
if count_Email_Current > count_Email_Start:
|
||
result, data = mail.search(None, "ALL")
|
||
ids = data[0] # Получаем сроку номеров писем
|
||
id_list = ids.split() # Разделяем ID писем
|
||
latest_email_id = id_list[-1] # Берем последний ID
|
||
result, data = mail.fetch(latest_email_id, "(RFC822)") # Получаем тело письма (RFC822) для данного ID
|
||
raw_email = data[0][1]
|
||
email_message = email.message_from_bytes(raw_email)
|
||
email_message_From = email_message['From']
|
||
email_message_From = email_message_From[email_message_From.index('<'):email_message_From.index('>')]
|
||
email_message_From = email_message_From[1:]
|
||
print('Отправить сообщение в телегу о том, что занят')
|
||
print('Отправить "от кого" ', email_message_From)
|
||
count_Email_Start = count_Email_Current
|
||
time.sleep(15) # частота проверки нового письма
|
||
|
||
def test_trigger(var):
|
||
time.sleep(int(var))
|
||
|
||
|
||
def test_action(var):
|
||
print("Я пишу", var)
|
||
|