[cron:6dd85dd2-28ce-411f-b2de-8106e314da47 Deal Post - X + Pinterest (every 30 min)] SCHEDULED TASK: Post 1 deal to X and Pinterest using Maya VM twikit/py3-pinterest.

## CRITICAL: Use Maya VM, NOT Fred social-poster
- X: twikit v2.3.3 on Maya VM (`ssh maya@maya`)
- Script: `/home/maya/workspace/scripts/x_twikit_post2.py`
- Cookies: `/home/maya/workspace/x_cookies.json`

## Workflow
1. Fetch deals: `curl -s "https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest" | python3 -c "import sys,json; d=json.load(sys.stdin); deals=d if isinstance(d,list) else d.get('deals',[]); [print(f\"{x['id']}|{x.get('title','')[:60]}|${x.get('price','')}|{x.get('discount_percentage',0)}%\") for x in deals[:15]]"`
2. Check hash: `python3 scripts/posted_db.py check <deal_id> x`
3. If POSTED:YES — SKIP, pick another
4. Pick unposted deal (50%+ off, popular brand, limited time, freebies, under $10)
5. Download share image: `wget -q "https://www.gottahavecoups.com/api/v1/share/image/<deal_id>" -O /tmp/deal_img.jpg`
6. **BUILD TWEET:** Hook + value + 5-8 hashtags + link LAST. KEEP UNDER 280 CHARS.
7. **MANDATORY VALIDATION:** `python3 scripts/validate_tweet.py '<tweet_text>'` — If INVALID, STOP and pick different deal.
8. **POST TO X (Maya VM twikit):**
   ```bash
   ssh maya@maya "cat > /tmp/tweet.txt << 'TWEET'
   <tweet text here>
   TWEET"
   scp /tmp/deal_img.jpg maya@maya:/tmp/deal_img.jpg
   ssh maya@maya "python3 /home/maya/workspace/scripts/x_twikit_post2.py <deal_id> --file /tmp/tweet.txt"
   ```
9. **POST TO PINTEREST (Maya VM py3-pinterest):**
   ```bash
   ssh maya@maya "python3 /home/maya/workspace/scripts/pin_post_v2.py <deal_id> '<title>' '<description>' 1134485031073239531"
   ```
10. Record posts: `python3 scripts/posted_db.py record <deal_id> x <tweet_id> <url>`
11. Log in memory/YYYY-MM-DD.md

## If X cookies expired
Run: `ssh maya@maya "DISPLAY=:0 python3 /home/maya/workspace/scripts/extract_x_cookies.py"`

## Tweet format (STRICT)
- Hook (emoji + deal highlight)
- Product name + price (with $, e.g., "$12.99")
- 5-8 hashtags
- Link LAST: gottahavecoups.com/deal/<id>
- KEEP UNDER 280 CHARS

## NEVER post if validation fails:
- Shell artifacts (/bin/bash, python3 -c)
- Broken prices (.20 instead of $10.20)
- Broken emojis (�)
- > 280 chars
Current time: Thursday, February 12th, 2026 — 4:27 PM (UTC)

Return your summary as plain text; it will be delivered automatically. If the task explicitly calls for messaging a specific external recipient, note who/where it should go instead of sending it yourself.


The user wants me to post a deal to X and Pinterest. Let me follow the workflow outlined in the cron task:

1. Fetch deals from the API
2. Check which ones are already posted
3. Pick an unposted deal (50%+ off, popular brand, etc.)
4. Download the share image
5. Build a tweet and validate it
6. Post to X using Maya VM
7. Post to Pinterest using Maya VM
8. Record the post

Let me start by fetching the deals.

I'll execute this scheduled deal post. Let me start by fetching available deals and checking which ones haven't been posted yet.

exec

curl -s "https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest" | python3 -c "import sys,json; d=json.load(sys.stdin); deals=d if isinstance(d,list) else d.get('deals',[]); [print(f\"{x['id']}|{x.get('title','')[:60]}|\${x.get('price','')}|{x.get('discount_percentage',0)}%\") for x in deals[:15]]"


Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.12/json/__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Command exited with code 1


The API didn't return valid JSON. Let me check what the API actually returns.

curl -s "https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest" | head -c 2000


(no output)


No output at all. Let me try with verbose curl to see what's happening.

curl -v "https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest" 2>&1 | head -50


% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Host www.gottahavecoups.com:443 was resolved.
* IPv6: 2606:4700:3033::ac43:b9d7, 2606:4700:3037::6815:441e
* IPv4: 172.67.185.215, 104.21.68.30
*   Trying 172.67.185.215:443...
* Connected to www.gottahavecoups.com (172.67.185.215) port 443
* ALPN: curl offers h2,http/1.1
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [19 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [2548 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [79 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 / X25519 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
*  subject: CN=gottahavecoups.com
*  start date: Jan 24 01:17:46 2026 GMT
*  expire date: Apr 24 02:16:10 2026 GMT
*  subjectAltName: host "www.gottahavecoups.com" matched cert's "*.gottahavecoups.com"
*  issuer: C=US; O=Google Trust Services; CN=WE1
*  SSL certificate verify ok.
*   Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
*   Certificate level 1: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA384
*   Certificate level 2: Public key type EC/secp384r1 (384/192 Bits/secBits), signed using ecdsa-with-SHA384
} [5 bytes data]
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: www.gottahavecoups.com]
* [HTTP/2] [1] [:path: /api/v1/deals?limit=20&sort=newest]
* [HTTP/2] [1] [user-agent: curl/8.5.0]
* [HTTP/2] [1] [accept: */*]
} [5 bytes data]


The connection is established but the response seems to be empty or hanging. Let me try a different approach - maybe the API needs a different endpoint or there's an issue with the server. Let me check if there's a different URL or if I need to add headers.

curl -sL --max-time 10 "https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest" -H "Accept: application/json" 2>&1


YMMV Clearance - TCL 85" Class QM7K Series QD-Mini LED QLED 4K UHD Smart Google TV (NEW,2025) - 144Hz,Local Dimming,Audio by Bang & Olufsen - 85QM7K $900

Just saw this is my local store (22485) on clearance for $900.YMMV obviously https://www.walmart.com/ip/151189...942916555a

Dyson WashG1 Wet Hard Floor Cleaner (Matte Black/Ultra Blue) $399.99 + Free Shipping

Various Retailers [amazon.com] have Dyson WashG1 Wet Hard Floor Cleaner (Matte Black/Ultra Blue) for $399.99.Shipping is free.Available Retailers:[list][]Amazon [amazon.com][]Dyson +

Otter MOMO Toddler Little Girls Oxford Shoes Mary Jane Flat T-Strap School Uniform Party Brown Dress Shoes Size 7 $13.77

Otter MOMO Toddler Little Girls Oxford Shoes Mary Jane Flat T-Strap School Uniform Party Dress Shoes 4.6 4.6 out of 5 stars (2,771) | Search this page

99.97 | 28-Liter Osprey Ozone Laptop Backpack (Black) at Amazon

Amazon [amazon.com] has 28-Liter Osprey Ozone Laptop Backpack (Black) for $99.97.Shipping is free.Price $69.98 lower (41% savings) than the list price of $169.95 $26.98 lower

The Hillman Group 532446 Thumb Tacks,White,40-Pack

Amazon price drop:The Hillman Group 532446 Thumb Tacks,White,40-Pack - down 36.58% ($1.09) to $1.89 from $2.98

Adidas Men's Train Essentials Feelready Training Tee $5.76

Adidas Men's Train Essentials Feelready Training Tee From $5.76 via Official Adidas ebay store.Stack promo codes ADIDAS40 and LONGWKND20 https://www.ebay.com/itm/157299757552

10.99*:Simple Deluxe Portable Camping Stool,14.4 Inch,300 lbs Capacity,Folding Chair with Storage Pocket,Black at Amazon.com

Amazon.com has Simple Deluxe Portable Camping Stool,14.4 Inch,300 lbs Capacity,Folding Chair with Storage Pocket,Black on sale for $10.99.Shipping is free with Prime or on $35+ orders.14"D

Under Armour Men's UA Velocity Shirt (2 Colors) $8.53

Under Armour Men's UA Velocity Shirt (2 Colors) $8.53 Note:Available sizes may vary.Apply codes EXTRA50 and UA10 at checkout.Free shipping on orders $50+

11.97 | Taylormade Driver Headcover at Amazon

Amazon [amazon.com] has Taylormade Driver Headcover for $11.97.Shipping is free with Prime or on $35+ orders.Price $13.02 lower (52% savings) than the list price of $24.99

Dymatize Elite 100% Whey Protein Powder,Cookies & Cream,25g of Protein,5.5g BCAAs,Less Than 140 Cal.,Gluten Free,3g Carb,2g Sugar,3g Fat (25 Servings) $27.3

Subscribe and save for $25 for 2 lbs of cookies and cream elite 100% whey https://a.co/d/0gwp4olZ

Mainstays Electric Standing Desk,Height Adjustable Desk,44 x 24 Inches $149

Local Walmart has it in stock https://www.walmart.com/ip/520115...1776d299f8

Electric Air Duster,Multi-Gear Adjustable 130000RPM,Rechargeable Air Blower with LED Light for Computer Keyboard Home Outdoor Car

9.99 with free shipping after coupon code:B0G6Z5TBXM Includes blower,case,brushes,USB-C charge cable and 2 nozzle tips https://www.amazon.com/dp/B0G7DT8LSN

34.08*:adidas Country Japan Men's Shoes (Bright Royal / Cloud White / Cream White) at ebay

eBay via adidas has the adidas Country Japan Men’s Shoes (Bright Royal/Cloud White/Cream White) for $34 shipped after stacking codes ADIDAS40 and LONGWKND20 (exp.2/16)

20" x 30" LuxHomez Rectangle Aluminum Alloy Frame Vanity Bathroom Mirror (Gold) $38.09 + Free Shipping

The Home Depot [homedepot.com] has 20" x 30" LuxHomez Rectangle Aluminum Alloy Frame Vanity Bathroom Mirror (Gold) for $38.09 when you apply promo code PRESIDENTS26 at checkout.*Shipping is

Fiskars Hand Saw,Folding Saw w/Dual Position Locking Saw Blade for Overhand Cuts and Under Cuts $17.98

Fiskars Hand Saw,Folding Saw with Dual Position Locking Saw Blade for Overhand Cuts and Under Cuts and Power Tooth Blade with Triple Ground Teeth,Soft Grip 10-Inch Pruning Saw.Free Shipping

Habitat 150A(e) True HEPA Filt...nt Filter,HEPA 13 (Pack of 1

Amazon price drop:Habitat 150A(e) True HEPA Filt...nt Filter,HEPA 13 (Pack of 1) - down 39.88% ($14.20) to $21.41 from $35.61

Makita 18V LXT Brushless Compact Cordless 1/2" Hammer Driver/Drill (Tool Only) $94 + Free S/H

Amazon [amazon.com] has Makita 18V LXT Lithium-Ion Brushless Cordless 1/2" Hammer Driver-Drill,Tool Only (XPH12Z) for $93.99.Shipping is free.Price $25.98 lower (22% savings) than

3-Count 13-Oz Quaker Life Breakfast Cereal (Cinnamon) $8.52 w/ S&S + Free Shipping w/ Prime or on $35

Amazon [amazon.com] has 3-Count 13-Oz Quaker Life Multigrain Breakfast Cereal (Cinnamon) on sale for $8.97 - 5% off when you checkout via Subscribe & Save = $8.52.Shipping is free w/ Prime or on

Sur La Table Kitchen Essentials 13 Piece Detachable Handle Pots and Pans Premium PFA Free Ceramic Non Stick Induction Removable Handle Cookware Set Eggshell White *YMMV* $58.75

YMMV - Coupon not available on all Amazon accounts!List Price:$169.99 Sale Price WITHOUT Coupon:$83.93 Sale Price WITH Coupon:$58.75 SAVE UP TO 65% - Clip coupon.- Add to cart

2-Count 6' Dr.Plazen Indoor/Outdoor Artificial Areca Palm Plants $79.95 ($39.98 each) + Free Shipping

Home Depot [homedepot.com] has 2-Count 6' Dr.Plazen Indoor/Outdoor Artificial Areca Palm Plants on sale for $88.83 - an additional 10% = $79.95 when you apply code PRESIDENTS26 at checkout

99.97 | 28-Liter Osprey Ozone Laptop Backpack (Black) at Amazon

The Hillman Group 532446 Thumb Tacks,White,40-Pack

Adidas Men's Train Essentials Feelready Training Tee $5.76

Under Armour Men's UA Velocity Shirt (2 Colors) $8.53

11.97 | Taylormade Driver Headcover at Amazon

Mainstays Electric Standing Desk,Height Adjustable Desk,44 x 24 Inches $149

Local Walmart has it in stock https://www.walmart.com/ip/520115...1776d299f8

Habitat 150A(e) True HEPA Filt...nt Filter,HEPA 13 (Pack of 1


Great, I got the deals. Now let me extract the key information and check which deals haven't been posted yet. I need to look for deals that:
1. Are 50%+ off
2. Popular brands
3. Limited time
4. Freebies
5. Under $10

Looking at the deals:
- 33838: TaylorMade Driver Headcover - $11.97, 52% off - GOOD CANDIDATE
- 33850: Adidas Men's Train Essentials Feelready Training Tee $5.76 - under $10, good brand
- 33840: Under Armour Men's UA Velocity Shirt $8.53 - under $10, good brand
- 33834: Sur La Table Kitchen Essentials 13 Piece - 65% off - GREAT CANDIDATE

Let me check which ones have been posted already using the posted_db.py script.

Good, I have the deals. Let me extract them and check which haven't been posted yet:

curl -sL --max-time 10 "https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest" -H "Accept: application/json" | python3 -c "
import sys, json
data = json.load(sys.stdin)
deals = data.get('deals', [])
for d in deals[:15]:
    print(f\"{d['id']}|{d.get('title','')[:60]}|\\${d.get('price','N/A')}|{d.get('discount_percentage',0)}%\")
"


/bin/bash: line 1:
import sys, json
data = json.load(sys.stdin)
deals = data.get('deals', [])
for d in deals[:15]:
    print(f"{d['id']}|{d.get('title','')[:60]}|\\${d.get('price','N/A')}|{d.get('discount_percentage',0)}%")
: bad substitution

Command exited with code 1


The escaping is tricky. Let me use a different approach - write to a temp file.

write

import sys, json
data = json.load(sys.stdin)
deals = data.get('deals', [])
for d in deals[:15]:
    print(f"{d['id']}|{d.get('title','')[:60]}|${d.get('price','N/A')}|{d.get('discount_percentage',0)}%")

exec

curl -sL --max-time 15 "https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest" -H "Accept: application/json" | python3 /tmp/parse_deals.py


Successfully wrote 203 bytes to /tmp/parse_deals.py


33847|YMMV Clearance - TCL 85" Class QM7K Series QD-Mini LED QLED |$900.0|None%
33845|Dyson WashG1 Wet Hard Floor Cleaner (Matte Black/Ultra Blue)|$399.99|None%
33844|Otter MOMO Toddler Little Girls Oxford Shoes Mary Jane Flat |$13.77|None%
33846|99.97 | 28-Liter Osprey Ozone Laptop Backpack (Black) at Ama|$99.97|41%
33843|The Hillman Group 532446 Thumb Tacks,White,40-Pack|$1.89|36%
33850|Adidas Men's Train Essentials Feelready Training Tee $5.76|$5.76|None%
33842|10.99*:Simple Deluxe Portable Camping Stool,14.4 Inch,300 lb|$10.99|None%
33840|Under Armour Men's UA Velocity Shirt (2 Colors) $8.53|$8.53|None%
33838|11.97 | Taylormade Driver Headcover at Amazon|$11.97|52%
33837|Dymatize Elite 100% Whey Protein Powder,Cookies & Cream,25g |$27.3|None%
33835|Mainstays Electric Standing Desk,Height Adjustable Desk,44 x|$149.0|None%
33841|Electric Air Duster,Multi-Gear Adjustable 130000RPM,Recharge|$9.99|None%
33832|34.08*:adidas Country Japan Men's Shoes (Bright Royal / Clou|$34.08|None%
33830|20" x 30" LuxHomez Rectangle Aluminum Alloy Frame Vanity Bat|$38.09|None%
33831|Fiskars Hand Saw,Folding Saw w/Dual Position Locking Saw Bla|$17.98|None%


Now let me check which of these haven't been posted. I see some good candidates:
- 33838: TaylorMade Driver Headcover - $11.97, 52% off
- 33850: Adidas Men's Train Essentials Feelready Training Tee $5.76 - under $10
- 33840: Under Armour Men's UA Velocity Shirt $8.53 - under $10
- 33841: Electric Air Duster $9.99 - under $10
- 33846: Osprey Ozone Laptop Backpack $99.97, 41% off

Let me check which ones haven't been posted yet.

Now let me check which of these deals haven't been posted to X yet:

python3 scripts/posted_db.py check 33838 x

python3 scripts/posted_db.py check 33850 x

python3 scripts/posted_db.py check 33840 x

python3 scripts/posted_db.py check 33841 x


POSTED:YES


POSTED:NO


So:
- 33838 (TaylorMade) - POSTED (skip)
- 33850 (Adidas Tee) - NOT posted ✓
- 33840 (Under Armour Shirt) - NOT posted ✓
- 33841 (Electric Air Duster) - NOT posted ✓

Let me pick one of these. The Adidas tee at $5.76 from a popular brand is a good pick. Let me get the full details and download the image.

Good! I have unposted deals. Let me pick the **Adidas Men's Train Essentials Feelready Training Tee at $5.76** - under $10 from a popular brand. Let me get the full deal details and download the share image:

curl -sL --max-time 15 "https://www.gottahavecoups.com/api/v1/deals?limit=20&sort=newest" -H "Accept: application/json" | python3 -c "
import sys, json
data = json.load(sys.stdin)
for d in data.get('deals', []):
    if d['id'] == 33850:
        print(json.dumps(d, indent=2))
        break
"

wget -q "https://www.gottahavecoups.com/api/v1/share/image/33850" -O /tmp/deal_img_33850.jpg && ls -la /tmp/deal_img_33850.jpg


-rw-rw-r-- 1 crogers2287 crogers2287 50484 Feb 12 16:27 /tmp/deal_img_33850.jpg


I got the deal details and the image. Now let me build a tweet. The deal is:
- Adidas Men's Train Essentials Feelready Training Tee
- $5.76
- Use codes ADIDAS40 and LONGWKND20
- From official Adidas eBay store

Let me craft a tweet:
"🔥 Adidas Men's Training Tee just $5.76!

Official Adidas eBay store - stack codes ADIDAS40 + LONGWKND20 at checkout.

#Adidas #Training #Fitness #Workout #eBayDeals #AthleticWear #SneakerDeals #GottaHaveCoups

gottahavecoups.com/deal/33850"

Let me count characters...

Now let me build and validate the tweet:

exec

python3 scripts/validate_tweet.py "$(cat /tmp/tweet_33850.txt)"


Successfully wrote 240 bytes to /tmp/tweet_33850.txt


VALID


The tweet is valid. Now I need to:
1. Post to X using Maya VM twikit
2. Post to Pinterest using Maya VM py3-pinterest
3. Record the post

Let me start by posting to X.

Tweet is valid. Now posting to X via Maya VM:


Warning: Permanently added 'maya' (ED25519) to the list of known hosts.


Good, the image copied. Now let me post to X.

ssh maya@maya "cat > /tmp/tweet_33850.txt << 'TWEET'
🔥 Adidas Men's Training Tee just $5.76!

Official Adidas eBay store - stack codes ADIDAS40 + LONGWKND20 at checkout.

#Adidas #Training #Fitness #Workout #eBayDeals #AthleticWear #SneakerDeals #GottaHaveCoups

gottahavecoups.com/deal/33850
TWEET"


Now let me actually post to X using the twikit script.

ssh maya@maya "python3 /home/maya/workspace/scripts/x_twikit_post2.py 33850 --file /tmp/tweet_33850.txt"


Warning: Permanently added 'maya' (ED25519) to the list of known hosts.
Cookies loaded
Authenticated as: @GottaHaveCoups
Image downloaded: /home/maya/workspace/downloads/deal-33850.jpg (50484 bytes)
Uploading image...
Image uploaded, media_id: 2021984727092305920
Posting tweet...
SUCCESS! Tweet ID: 2021984730863055171
URL: https://x.com/GottaHaveCoups/status/2021984730863055171


X post was successful! Now I need to post to Pinterest. The format is:
```
python3 /home/maya/workspace/scripts/pin_post_v2.py <deal_id> '<title>' '<description>' 1134485031073239531
```

For the description, I should create a concise one:
"Adidas Men's Train Essentials Feelready Training Tee - Just $5.76 with promo codes ADIDAS40 and LONGWKND20 at the official Adidas eBay store. Limited time deal!"

Excellent! X post successful. Now posting to Pinterest:

ssh maya@maya "python3 /home/maya/workspace/scripts/pin_post_v2.py 33850 'Adidas Men\'s Train Essentials Feelready Training Tee - $5.76' 'Adidas Men\'s Training Tee just $5.76! Official Adidas eBay store - stack codes ADIDAS40 + LONGWKND20. Limited time deal on athletic wear!' 1134485031073239531"


Warning: Permanently added 'maya' (ED25519) to the list of known hosts.
/bin/bash: -c: line 1: unexpected EOF while looking for matching `''

Command exited with code 2


I need to escape the quotes differently. Let me try a different approach.

ssh maya@maya 'python3 /home/maya/workspace/scripts/pin_post_v2.py 33850 "Adidas Men'\''s Train Essentials Feelready Training Tee - \$5.76" "Adidas Men'\''s Training Tee just \$5.76! Official Adidas eBay store - stack codes ADIDAS40 + LONGWKND20. Limited time deal!" 1134485031073239531'


Warning: Permanently added 'maya' (ED25519) to the list of known hosts.
Loaded 8 cookies
Boards: 200
Found 7 boards (raw type: dict)
Raw keys: ['all_boards', 'boards_shortlist', 'create_suggestions']
  🔥 Today’s Best Deals (id: 1134485031073239531)
  Limited Time Promo Codes (id: 1134485031073239590)
  Gifts Under $50 (id: 1134485031073239588)
  Amazon Deals & Coupons (id: 1134485031073239559)
  Home & Kitchen Savings (id: 1134485031073239570)
Image upload: 200
Image URL: https://i.pinimg.com/previews/yu4jS64y.jpeg
Pin create: 200
SUCCESS! Pin ID: 1134484962398606491


Both posts are successful. Now I need to:
1. Record the post in the database
2. Log in memory/YYYY-MM-DD.md

Tweet ID: 2021984730863055171
Pin ID: 1134484962398606491

Both posts successful! Now recording the posts:

python3 scripts/posted_db.py record 33850 x 2021984730863055171 https://x.com/GottaHaveCoups/status/2021984730863055171


Recorded 33850 for x


Now let me log this in the memory file for today.


## Deal Post - 3:57 PM UTC
- **Deal:** Taylormade Driver Headcover - ID: 33838
- **Price:** $11.97 (was $24.99, 52% OFF)
- **Platform:** X + Pinterest
- **X Post:** https://x.com/GottaHaveCoups/status/2021977209859449258
- **Pinterest Pin:** https://pinterest.com/pin/1134484962398605085
- **Status:** Successfully posted

## Blog Post #2 - 4:01 PM UTC (Morning Blog Post #2 - 11 AM EST)
- **Title:** Dyson WashG1 Review: Is This Premium Wet Floor Cleaner Worth $400?
- **Product:** Dyson WashG1 Wet Hard Floor Cleaner (Matte Black/Ultra Blue)
- **Deal Price:** $399.99 (was $599.99) + Free Shipping
- **Word Count:** ~1,500 words
- **SEO Keywords:** Dyson WashG1 review, best wet floor cleaner 2025, Dyson hard floor cleaner, wet dry vacuum mop, premium floor cleaner deal
- **Affiliate Tag:** chelseaschn0b-20
- **Template Used:** templates/canonical-blog-post.html
- **Published Via:** scripts/post_blog_v2.py
- **File:** published_posts/20260212-160124-dyson-washg1-review--is-this-premium-wet-floor-cle.html
- **Status:** Successfully published


Now let me append the new deal post to this file.

edit

## Deal Post - 4:27 PM UTC (Cron Job)
- **Deal:** Adidas Men's Train Essentials Feelready Training Tee - ID: 33850
- **Price:** $5.76 (Official Adidas eBay store)
- **Codes:** ADIDAS40 + LONGWKND20
- **Platform:** X + Pinterest
- **X Post:** https://x.com/GottaHaveCoups/status/2021984730863055171
- **Pinterest Pin:** https://pinterest.com/pin/1134484962398606491
- **Status:** Successfully posted

## Deal Post - 3:57 PM UTC
- **Deal:** Taylormade Driver Headcover - ID: 33838
- **Price:** $11.97 (was $24.99, 52% OFF)
- **Platform:** X + Pinterest
- **X Post:** https://x.com/GottaHaveCoups/status/2021977209859449258
- **Pinterest Pin:** https://pinterest.com/pin/1134484962398605085
- **Status:** Successfully posted


Successfully replaced text in memory/2026-02-12.md.

+ 1 ## Deal Post - 4:27 PM UTC (Cron Job)
+ 2 - **Deal:** Adidas Men's Train Essentials Feelready Training Tee - ID: 33850
+ 3 - **Price:** $5.76 (Official Adidas eBay store)
+ 4 - **Codes:** ADIDAS40 + LONGWKND20
+ 5 - **Platform:** X + Pinterest
+ 6 - **X Post:** https://x.com/GottaHaveCoups/status/2021984730863055171
+ 7 - **Pinterest Pin:** https://pinterest.com/pin/1134484962398606491
+ 8 - **Status:** Successfully posted
+ 9
  1 ## Deal Post - 3:57 PM UTC
  2 - **Deal:** Taylormade Driver Headcover - ID: 33838
  3 - **Price:** $11.97 (was $24.99, 52% OFF)
  4 - **Platform:** X + Pinterest
    ...


All done! Let me provide a summary of the scheduled task execution.

---

## ✅ Scheduled Deal Post Completed

**Deal Posted:** Adidas Men's Train Essentials Feelready Training Tee
**Deal ID:** 33850
**Price:** $5.76

### Platforms Posted:
| Platform | Status | Link |
|----------|--------|------|
| **X (Twitter)** | ✅ Success | https://x.com/GottaHaveCoups/status/2021984730863055171 |
| **Pinterest** | ✅ Success | https://pinterest.com/pin/1134484962398606491 |

### Details:
- Used Maya VM twikit v2.3.3 for X posting
- Used Maya VM py3-pinterest for Pinterest posting
- Deal recorded in posted_deals.json database
- Activity logged to memory/2026-02-12.md

### Tweet Content:
```
🔥 Adidas Men's Training Tee just $5.76!

Official Adidas eBay store - stack codes ADIDAS40 + LONGWKND20 at checkout.

#Adidas #Training #Fitness #Workout #eBayDeals #AthleticWear #SneakerDeals #GottaHaveCoups

gottahavecoups.com/deal/33850
```