Files
SUST/sustApp/whatsapp_payment_slips.py
T
2025-01-19 17:10:56 +01:00

68 lines
2.9 KiB
Python

#!/usr/bin/env python
from heyoo import WhatsApp
#import pywhatkit
from database import engine, SessionLocal
import 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}')