File size: 3,784 Bytes
ca2863a
 
894b157
 
 
ca2863a
894b157
ca2863a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
894b157
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
---
title: Wisdom Poster
emoji: πŸͺ·
colorFrom: indigo
colorTo: indigo
sdk: gradio
sdk_version: 6.2.0
app_file: app.py
pinned: false
---

# Wisdom Poster β€” Hugging Face Space

This Space generates short wisdom text and a matching image, then posts the result to a Facebook Page. The app supports both OpenAI and Replicate image generation; it will try providers in the order configured by the `PROVIDER_ORDER` environment variable (default: `openai,replicate`).

Quick setup (local)

1. Install dependencies:

```bash
python -m pip install -r requirements.txt
```

2. Create a local `.env` (do NOT commit it). Example keys used by the app:

- `FB_PAGE_ID` β€” the numeric Page ID
- `FB_PAGE_ACCESS_TOKEN` β€” a Page access token with `pages_manage_posts` / publish permissions
- `OPENAI_API_KEY` β€” (optional) OpenAI API key if using OpenAI image generation
- `REPLICATE_API_TOKEN` β€” (optional) Replicate API key if using Replicate
- `REPLICATE_MODEL` β€” (optional) default replicate model ref (owner/name:version), e.g. `google/nano-banana`
- `PROVIDER_ORDER` β€” (optional) e.g. `replicate,openai` or `openai,replicate` (default `openai,replicate`)
- `RUN_DAILY_REPLICATE` β€” (optional) `true` to enable scheduled daily runs inside `app.py`
- `DAILY_INTERVAL_HOURS` β€” (optional) schedule interval in hours (default `24`)
- `DAILY_PROMPT` β€” (optional) override prompt for scheduled runs

Deploying to Hugging Face Spaces

1. In your Space settings, set the following Secrets (Settings β†’ Secrets):

- `FB_PAGE_ACCESS_TOKEN`
- `FB_PAGE_ID`
- `REPLICATE_API_TOKEN` (if you plan to use Replicate)
- `OPENAI_API_KEY` (if you plan to use OpenAI)
- `PROVIDER_ORDER` (optional)
- `RUN_DAILY_REPLICATE` (set to `true` to enable daily runs)

2. Ensure `app.py` and `requirements.txt` are present at the repository root. The Space entrypoint is `app.py` (specified in the metadata above).

Notes and recommendations

- The app spawns a daemon background thread for scheduled runs when `RUN_DAILY_REPLICATE` is enabled. This works while the Space process is active but can be interrupted during redeploys β€” for guaranteed scheduling, use an external scheduler.
- Keep your Space private if you do not want the public to access the UI or to expose functionality.
- Monitor usage and API costs for OpenAI/Replicate.

Troubleshooting

- If the Space fails to start, check the `requirements.txt` includes all needed packages and that Secrets are set.
- Use the Space logs (Settings β†’ Logs) to inspect runtime errors.

Minimal files to leave in the Space repo

- `app.py` (entrypoint)
- `requirements.txt`
- `generate_image.py`, `generate_wisdom.py`, `post_to_facebook.py`
- `.gitignore` (ignore `.env`, generated images)

If you want, I can also add a short *Deploy checklist* file with exact steps and screenshot guidance for adding Secrets in the HF UI.
# Post to Facebook Page

This repository includes a small Python script to post a message to a Facebook Page using a Page Access Token stored in a `.env` file.

Setup

1. Install dependencies:

```bash
python -m pip install -r requirements.txt
```

2. Populate your `.env` (do not commit secrets). Example keys used by the script:

- `FB_PAGE_ID` β€” the numeric Page ID
- `FB_PAGE_ACCESS_TOKEN` β€” a Page access token with `pages_manage_posts` or appropriate publish permissions
- `MESSAGE` β€” optional default message
- `LINK` β€” optional link to attach

Usage

Run directly with a message:

```bash
python post_to_facebook.py --message "Hello from script"
```

Or rely on `MESSAGE` in `.env`:

```bash
python post_to_facebook.py
```

Notes

- The script posts to the Graph API endpoint `/{page-id}/feed`.
- If you need long-lived tokens or other flows, exchange tokens using Facebook's API before placing them in `.env`.