import requests
import os
from dotenv import load_dotenv
load_dotenv()

def facebookMessageMockUp(psid, page_id):
    message = {
        "attachment": {
            "type": "template",
            "payload": {
            "template_type": "generic",
            "elements": [
                {
                    "title": "รับสิทธิพิเศษก่อนใครที่ LINE! 💚",
                    "image_url": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS-YFbAk5wJ96yMwucszLngAc_xK3AN4GjgjQ&s",
                    "subtitle": "แอดเพื่อนตอนนี้เพื่อรับคูปองส่วนลด อัปเดตสินค้าใหม่ และสอบถามแอดมินได้รวดเร็วทันใจ",
                    "default_action": {
                    "type": "web_url",
                    "url": f"https://simple.ydm.family/ydm-test/ydm-addline.php?page=addfriend&lineliff=check&utm_source=facebook&utm_medium=cpc&utm_campaign=launch&utm_content=banner1&utm_term=beauty&psid={psid}",
                    "messenger_extensions": False,
                    "webview_height_ratio": "tall"
                    },
                    "buttons": [
                        {
                            "type": "web_url",
                            "url": f"https://simple.ydm.family/ydm-test/ydm-addline.php?page=addfriend&lineliff=check&utm_source=facebook&utm_medium=cpc&utm_campaign=launch&utm_content=banner1&utm_term=beauty&psid={psid}",
                            "title": "เพิ่มเพื่อนทาง LINE"
                        }
                    ]
                }
            ]
            }
        }
    }
    recipient = {"id": psid}
    messaging_type = "UPDATE"

    payload = {
        "recipient": recipient,
        "messaging_type": messaging_type,
        "message": message
    }

    #Get user

    USER_ACCESS_TOKEN = os.environ.get("FB_TOKEN")

    url = "https://graph.facebook.com/v24.0/me/accounts"
    params = {"access_token": USER_ACCESS_TOKEN}

    response = requests.get(url, params=params)
    data = response.json()

    pages_data = data['data']
    page_access_token = None
    for page in pages_data:
        if page['id'] == page_id:
            page_access_token = page['access_token']

    url_message = f"https://graph.facebook.com/v24.0/{page_id}/messages"
    if page_access_token == None:
        return False

    params = {"access_token": page_access_token}
    response = requests.post(url_message, params=params, json=payload)

    if response.status_code == 200:
        return True
    else:
        return False