68 lines
3.0 KiB
Python
68 lines
3.0 KiB
Python
#!/usr/bin/env python
|
|
from heyoo import WhatsApp
|
|
|
|
#import pywhatkit
|
|
|
|
from sustApp.models.database import engine, SessionLocal
|
|
import sustApp.models.models as models
|
|
import logging, sys
|
|
import smtplib
|
|
from email.mime.multipart import MIMEMultipart
|
|
from email.mime.text import MIMEText
|
|
from email.mime.application import MIMEApplication
|
|
from os.path import exists
|
|
import datetime
|
|
|
|
|
|
logging.basicConfig(stream=sys.stderr, level=logging.INFO)
|
|
|
|
def send_whatsapp(member: models.Members):
|
|
messenger = WhatsApp('EAAj1p1TLuUsBOy3849bBRZC8fEAZCc12440OW6L4BXDiiviWNWtAOLK3iyOKy3KnoRL3FOzCbiCoU0JKcoIAVzHLeBKUITaYWZBBl616wGyuqvIeQTyMFRuHiXM1MQ2ivnz74Bg6VD6GXMEpF0wzU68RdyyTwaQzSRmaXMW0R9IN0I9BUnSgFUJDqO1P66sngthaLuOxS3LGjvi',
|
|
phone_number_id='250992074758193')
|
|
|
|
#For sending a Text messages
|
|
messenger.send_message('Hello I am WhatsApp Cloud API (on behalf of your husband)', '4367761802110')
|
|
|
|
#For sending an Image
|
|
# messenger.send_image(
|
|
# image="https://i.imgur.com/YSJayCb.jpeg",
|
|
# recipient_id="91989155xxxx",
|
|
# )
|
|
|
|
# subject = 'Mitgliedsbeitrag 2024'
|
|
# body = f'Liebes Mitglied,\n\nDein Zahlschein für 2024 liegt bei.\nDu kannst gerne mittels beiliegendem, aufgedrucktem QR-Code überweisen.\nDanke sagt Dein Team vom Sportverein!'
|
|
|
|
# # es kann sein, dass die Mail-Adresse erst später ins System kam
|
|
# path_to_file = f'payment_slips\\mail\\{member.member_zip}_payment_slip_member{member.id}.pdf'
|
|
# if exists(path_to_file):
|
|
# with open(path_to_file, 'rb') as f:
|
|
# attachment = MIMEApplication(f.read(), _subtype='pdf')
|
|
# attachment.add_header('Content-Disposition', 'attachment', filename=f'{member.member_zip}_payment_slip_member{member.id}.pdf')
|
|
# msg.attach(attachment)
|
|
|
|
# with smtplib.SMTP(smtp_server, smtp_port) as smtp:
|
|
# smtp.starttls()
|
|
# smtp.login(smtp_username, smtp_password)
|
|
# smtp.send_message(msg)
|
|
|
|
# newDelivery = models.Deliveries(delivery_date = datetime.datetime.now(),
|
|
# member_id = member.id,
|
|
# delivered_by_id = 186,
|
|
# delivery_year = datetime.date.today())
|
|
|
|
# db.add(newDelivery)
|
|
# db.commit()
|
|
|
|
# logging.debug(f'Sent mail to {member.member_email}')
|
|
|
|
db = SessionLocal()
|
|
models.Base.metadata.create_all(bind=engine)
|
|
#members = db.query(models.Members).filter(models.Members.member_email != None, ~models.Members.id.in_([183,51,200,49])).all()
|
|
#members = db.query(models.Members).filter(models.Members.member_active == True).all()
|
|
#members = db.query(models.Members).filter(models.Members.id.in_([2,3,9,199]), models.Members.member_active == True, models.Members.member_printed == False).all()
|
|
members = db.query(models.Members).filter(models.Members.id.in_([186])).all()
|
|
|
|
for member in members:
|
|
send_whatsapp(member=member)
|
|
|
|
logging.debug(f'Member: {member.member_surname}') |