Agoras is a python utility that helps publish and delete posts on the most popular social networks (X (formerly Twitter), Facebook, Instagram, LinkedIn, Discord, YouTube, TikTok, Threads, Telegram, and WhatsApp).
This repository stores the application. There’s also GitHub actions that you can incorporate into your workflows.
For more information, please read the full documentation.
What’s New in v2.0¶
Agoras v2.0 represents a major architectural shift from a monolithic package to a modular 5-package structure. This allows you to install only the components you need.
Package Structure:
agoras (CLI)
└── agoras-platforms
└── agoras-core
├── agoras-media
└── agoras-common
Key Improvements:
Modular Architecture: Install only what you need (e.g.,
agoras-corefor custom integrations)New Platforms: Telegram, WhatsApp, Threads, and X support
Better Authentication: Built-in OAuth 2.0 callback server
Improved CLI: Platform-first commands (
agoras x post)
For detailed migration instructions, see Migration Guide: Legacy to New CLI.
Note
Agoras v2.0 Now Available!
Version 2.0 introduces a modular architecture with 5 separate packages for better maintainability and flexibility.
What’s New:
Modular package structure (agoras-common, agoras-media, agoras-core, agoras-platforms, agoras)
New platforms: Telegram, WhatsApp, Threads, and X (Twitter rebrand)
OAuth 2.0 callback server for easier authentication
Enhanced CLI with platform-first commands
Breaking Changes: Import paths and CLI syntax have changed. See Migration Guide: Legacy to New CLI for upgrade instructions.
Table of Contents¶
Getting Started¶
- Installation
- Using Agoras
- Migration Guide: Legacy to New CLI
- Overview
- Package Installation (v2.0+)
- Import Path Changes (v2.0)
- Understanding the Package Split
- Quick Reference
- Parameter Changes
- Platform-by-Platform Migration
- Automation Commands Migration
- Common Migration Pitfalls
- Testing Your Migration
- Gradual Migration Strategy
- Complete Parameter Reference
- Frequently Asked Questions
- Getting Help
Platform Guides¶
- Usage for X (formerly Twitter)
- Usage for Facebook
- Usage for Instagram
- Usage for LinkedIn
- Usage for Discord
- Usage for TikTok
- Usage forThreads
- Usage for Telegram
- Usage for WhatsApp
- Actions
- Publish Last Entry
- Publish Random Entry
- Run Scheduled Messages
- Sheet Format
- Scheduling Logic
- Environment Variables
- Parameter Precedence
- Security Recommendations
- Common Errors and Solutions
- Rate Limiting Issues
- Business Verification Problems
- Token Expiration Handling
- Message Delivery Issues
- Message Formatting Tips
- Media Optimization
- Rate Limit Management
- Compliance Guidelines
- Security Recommendations
Getting Credentials¶
- X (formerly Twitter) credentials
- Facebook credentials
- Instagram credentials
- LinkedIn credentials
- Discord credentials
- Google credentials
- YouTube OAuth 2.0 Credentials
- Create Google OAuth Credentials for YouTube
- Authorize Agoras for YouTube
- CI/CD Setup (Unattended Execution)
- YouTube Parameters
- Google Sheets Credentials (for Scheduling)
- Create a new project
- Enable access to APIs in project
- Create Service Account credentials
- Create JSON file with credentials
- Agoras parameters
- TikTok credentials
- Threads credentials
- Prerequisites
- Create a Meta Developer Account
- Create a Meta App
- Add Threads API Product
- Configure OAuth Settings
- Get App Credentials
- Business Account Setup (Optional but Recommended)
- App Review Process
- Authorize Agoras
- CI/CD Setup (Unattended Execution)
- Development vs Production
- Agoras parameters
- Troubleshooting
- Telegram credentials
- WhatsApp credentials
- Meta Developer Account Setup
- WhatsApp Business Account Setup
- Phone Number Registration
- Access Token Generation
- Business Account ID (Optional)
- Recipient Phone Number
- Rate Limiting and Compliance
- Troubleshooting
- Test your setup
- CI/CD Setup (Unattended Execution)
- Agoras parameters
- Security Best Practices
- Additional Resources
- Google credentials
Advanced Topics¶
Developer Documentation¶
Made with 💖 and 🍔¶
Web luisalejandro.org · GitHub @LuisAlejandro · Twitter @LuisAlejandro