https://github.com/wbnns/zensocial
Post to Bluesky, Farcaster and X from Telegram with less distraction
https://github.com/wbnns/zensocial
bluesky build-in-public farcaster gtd productivity telegram twitter
Last synced: about 1 month ago
JSON representation
Post to Bluesky, Farcaster and X from Telegram with less distraction
- Host: GitHub
- URL: https://github.com/wbnns/zensocial
- Owner: wbnns
- License: mit
- Created: 2024-11-21T02:32:35.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-02-11T16:39:36.000Z (3 months ago)
- Last Synced: 2025-04-10T09:03:37.832Z (about 1 month ago)
- Topics: bluesky, build-in-public, farcaster, gtd, productivity, telegram, twitter
- Language: Python
- Homepage:
- Size: 27.3 KB
- Stars: 10
- Watchers: 1
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Zensocial

## About
Post to Bluesky, Farcaster and X from Telegram with less distraction
## Features
- Cross-post text content to Bluesky, X and Farcaster simultaneously
- Support for images (automatically uploaded to Imgur for Farcaster)
- URL embedding
- Line break preservation
- Independent posting (continues if one platform fails)
- Rate limit handling with exponential backoff## Setup
1. Clone the repository:
```bash
git clone https://github.com/wbnns/zensocial.git
cd zensocial
```2. Install dependencies:
```bash
pip install -r requirements.txt
```3. Create a `.env` file from the example:
```bash
cp .env.example .env
```4. Configure your environment variables in `.env`:
- Get a Telegram Bot Token from [@BotFather](https://t.me/botfather)
- Create a Twitter Developer account and get API keys
- Get your Farcaster authorization header
- Create an Imgur application and get client ID
- Generate an app password for your Bluesky account## Usage
1. Start the bot:
```bash
python src/app.py
```2. In Telegram:
- Send text to cross-post
- Optionally send an image within 36 seconds
- The bot will post to both platforms and report the status## Status Messages
The bot provides clear status messages:
- "Posted: Bluesky, Farcaster, X" - Successfully posted to all platforms
- "Posted: Bluesky, Farcaster | Failed: X " - Posted to Bluesky and Farcaster only## Development
The code is organized into two main parts:
1. Platform-independent utilities and configurations
2. Platform-specific posting logic with independent error handling## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built with python-telegram-bot
- Uses Tweepy for X integration
- Uses Imgur for image hosting## Support
For support, please create an issue in the GitHub repository.