requirements and readme added

This commit is contained in:
afolivieri 2024-04-22 18:51:39 +03:00
parent 212f12c8a1
commit 117a014195
2 changed files with 83 additions and 0 deletions

83
README.MD Normal file
View File

@ -0,0 +1,83 @@
# Streaming Overseer: A Telegram Monitoring Tool
This tool monitors specified Telegram channels for messages that contain certain keywords and forwards them to a private channel. It's built using Python and Telethon, a Telegram client library.
## Features
- Monitors multiple channels.
- Searches for messages with specified keywords.
- Forwards matching messages to a private channel.
## Prerequisites
Before you can use this tool, you need to set up a few things:
1. **Python 3.8+** (Tested only on 3.12)
2. **Telethon Library**
3. **A Telegram API key and API Hash**
4. **A Telegram Bot**
5. **A Private Telegram Channel**
### Installing Python
Download and install Python from [python.org](https://www.python.org/downloads/).
## Setup Instructions
### Obtaining Telegram API ID and Hash
1. **Login to your Telegram account** at [Telegram Core](https://my.telegram.org).
2. Go to `API development tools` and fill out the form.
3. You will get an `api_id` and `api_hash` which are needed for the tool.
### Creating a Telegram Bot
1. **Open Telegram** and search for [BotFather](https://t.me/botfather).
2. Send `/newbot` and follow the instructions to create your bot.
3. **Copy the token** provided by BotFather.
### Setting Up a Private Channel
1. **Create a new channel** in Telegram.
2. **Switch the channel's privacy to private** in the channel settings.
3. **Add your bot as an administrator** to the channel.
## Configuration Files
The script uses several files for configuration:
- `credentials.json`: Automatically created if not present. It stores API keys, bot token, and private channel ID.
- `keywords.txt`: Contains keywords to monitor. Supports special modifiers for dynamic matching:
- `*` at the end allows up to three additional characters.
- `**` allows up to six additional characters.
- `#` at the start includes numeric characters (up to three).
- `##` includes numeric characters (up to six).
- `channels.txt`: List of channel usernames (the part after `t.me/`) to monitor.
### Examples
- `keywords.txt`
```
hello*, world**, #123, ##123456, #or_any_combination**
```
- `channels.txt`
```
python, daily_news, target3, target4
```
## Running the Tool
Execute the script:
```bash
python streaming_overseer.py
```
## Operational Details
- If not yet saved, the script will ask for your API ID, API hash, phone number, username, and bot token.
- The script listens for new messages in the specified channels.
- If a message contains any of the specified keywords, it is forwarded to the private channel.
- The script sends a startup message to the private channel when it begins monitoring.
- Use Ctrl+C to safely shut down the monitoring tool.

BIN
requirements.txt Normal file

Binary file not shown.