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
.envfile and add your keys there:cp .env.example .env
To add a client with a specific session name:
python app.py add-client my_sessionTo delete a client:
python app.py delete-clientTo start the program:
python app.py start-programBuild 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 telekitIt 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-programAfter 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.