A Telegram automation client built with Python's Telethon library. Currently supports:
- Automatically transcribing your own voice messages.
- Using shortcut to transcribe other people's voice messages.
- Python 3.x
- pip
- Telegram account
- OpenAI account
- Telegram API ID and hash: https://core.telegram.org/api/obtaining_api_id
- Clone the repository:
git clone https://github.com/doomuch/telekit telekit
- Navigate to the project directory:
cd telekit
- Install the dependencies:
pip install -r requirements.txt
- Copy an
.env
file and add your keys there:cp .env.example .env
To add a client with a specific session name:
python app.py add-client my_session
To delete a client:
python app.py delete-client
To start the program:
python app.py start-program
Build docker image:
sudo docker build -t telekit .
To run docker container:
sudo docker run -d -p 4000:80 --env-file .env -v ./data:/app/data -v ./data/sessions:/app/data/sessions --name telekit telekit
It runs start-program
command on startup so if you already has a session, you don't need to run start-program
again.
To init a new session (replace {SESSION_NAME} with your session name):
sudo docker exec telekit python /app/app.py add-client {SESSION_NAME}
After that you need to run start-program
and proceed Telegram authentication:
sudo docker exec -it telekit python /app/app.py start-program
After entering the necessary information interactively, you can exit the interactive session without stopping the Python script by pressing Ctrl + P
or Ctrl + Q
. This key combination detaches from the container without terminating the running process.
- Transcribes voice messages.
- Handles multiple clients.
- Supports various output formats.
If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.
This project is in early development stage, so there are many things to be done. Feel free to open an issue to discuss what you would like to change.