A Python application for reading and browsing Telegram channel messages with multiple client interfaces.
- Multiple Interfaces:
- NCurses terminal UI with interactive navigation
- Command-line interface (CLI)
- Core library for custom implementations
- Message Browsing: Navigate through channels and messages with keyboard controls
- Message Details: View full message content with scrolling support
- Real-time Refresh: Update messages without restarting the application
- Session Management: Automatic session handling for seamless reconnection
- Python 3.7+
- Telegram account
- Telegram API credentials
- Visit https://my.telegram.org/
- Log in with your phone number
- Go to "API development tools"
- Create a new application:
- App title: Your app name (e.g., "Channel Reader")
- Short name: A short identifier
- Platform: Desktop
- Description: Brief description
- Save your
api_idandapi_hash
# Clone the repository
git clone <repository-url>
cd televibe
# Install dependencies
pip install -r requirements.txt# Copy the example configuration
cp config.example.json config.json
# Edit config.json with your credentialsUpdate config.json with your details:
{
"api_id": 12345678,
"api_hash": "your_api_hash_here",
"phone": "+1234567890",
"channels": ["@telegram", "@durov"],
"message_count": 10
}# Test with CLI client first
python cli_client.pyOn first run:
- You'll be prompted for a verification code
- Check your Telegram app for the code
- Enter the code to create a session
python ncurses_client.pyControls:
↑↓- Navigate channels←→- Navigate messagesEnter- View message detailsESC- Exit detail viewr- Refresh messagesq- Quit
python cli_client.pyDisplays messages in a simple text format.
python telegram_reader.pyBasic reader that outputs all messages as JSON.
To add channels to monitor:
- Open the channel in Telegram
- Check the channel info for the username (starts with @)
- Add to the
channelsarray inconfig.json
televibe/
├── core.py # Core Telegram reader functionality
├── ncurses_client.py # Interactive terminal UI
├── cli_client.py # Command-line interface
├── telegram_reader.py # Basic reader implementation
├── config.json # Your configuration (git-ignored)
├── config.example.json # Configuration template
├── requirements.txt # Python dependencies
└── README.md # This file
- SessionPasswordNeededError: Your account has 2FA enabled. Currently not supported.
- ChannelPrivateError: The channel is private. You need to be a member.
- FloodWaitError: Too many requests. Wait before trying again.
- Connection errors: Check internet connection and firewall settings.
- Keep your
api_idandapi_hashsecret - Never commit
config.jsonor*.sessionfiles - The session file contains your login credentials
This project is for educational purposes. Please respect Telegram's Terms of Service and API usage guidelines.