Convert X/Twitter posts into Kindle-readable documents via email.
When user shares an X link:
```
https://api.fxtwitter.com/status/
```
Extract from URL: twitter.com//status/ or x.com//status/
```html
{tweet_text}
{timestamp}
```
```python
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
msg = MIMEMultipart()
msg['Subject'] = "Tweet from @handle"
msg['From'] = from_email
msg['To'] = kindle_email
# Plain text body (not the content)
msg.attach(MIMEText("Article attached.", 'plain'))
# HTML file as attachment - THIS IS REQUIRED
with open("/tmp/article.html", "rb") as f:
attachment = MIMEBase('text', 'html')
attachment.set_payload(f.read())
encoders.encode_base64(attachment)
attachment.add_header('Content-Disposition', 'attachment', filename='article.html')
msg.attach(attachment)
```
send_to_kindle: Send a local file to the configured Kindle email.Set the following environment variables in your Clawdbot configuration (or .env file):
SMTP_EMAIL: Your sender email (e.g., gmail)SMTP_PASSWORD: Your app passwordKINDLE_EMAIL: Your Kindle email addressSMTP_SERVER: (Optional) Default: smtp.gmail.comSMTP_PORT: (Optional) Default: 587Send a local file (PDF, HTML, TXT) to the Kindle.
python3 skills/x-to-kindle/send_to_kindle.py Store in TOOLS.md:
## Kindle
- Address: user@kindle.com
## Email (Gmail SMTP)
- From: your@gmail.com
- App Password: xxxx xxxx xxxx xxxx
- Host: smtp.gmail.com
- Port: 587
User sends: https://x.com/elonmusk/status/1234567890
https://api.fxtwitter.com/status/1234567890共 1 个版本