A powerful and customizable Telegram userbot built with Telethon. Create custom plugins, automate tasks, and enhance your Telegram experience.
Warning
Your Telegram account may get banned if this userbot is misused. We are not responsible for any spam, violations, or account restrictions.
Use it at your own risk and review the Telegram API Terms.
- Python 3.14+
- Linux (Debian/Ubuntu)
- Telegram
API_IDandAPI_HASHfrom API development tools
Follow these steps to set up and run Getter on your system.
git clone https://github.com/kastaid/getter.git
cd getterGenerate STRING_SESSION by running python3 strgen.py, or directly:
python3 -c "import urllib.request as r;exec(r.urlopen('https://gist.githubusercontent.com/illvart/05a462d25ef1a99278201c5ee6b5ff14/raw').read())"or using Docker:
docker run --rm -it python:3.14-alpine python3 -c "import urllib.request as r;exec(r.urlopen('https://gist.githubusercontent.com/illvart/05a462d25ef1a99278201c5ee6b5ff14/raw').read())"Create a .env file in the main directory and fill it with the example from example.env.
Choose your preferred deployment method below.
Deploy using Docker Compose for easy containerized deployment.
With FFmpeg.
git pull && \
docker compose up -d --build && \
docker compose logs -f# stop
docker compose down
# restart
docker compose restartWithout FFmpeg.
git pull && \
docker compose -f lite-compose.yml up -d --build && \
docker compose -f lite-compose.yml logs -f# stop
docker compose -f lite-compose.yml down
# restart
docker compose -f lite-compose.yml restartRun Getter locally on your machine or server (e.g., on Termux).
We recommend using uv for faster and more reliable Python package management.
Using uv:
uv pip install -r requirements.txt
python3 -m getterUsing pip:
pip3 install -r requirements.txt
python3 -m getterUsing uv:
uv pip install -r requirements.txt
uv pip install -r requirements-dev.txt
python3 -m run --watchUsing pip:
pip3 install -r requirements.txt
pip3 install -r requirements-dev.txt
python3 -m run --watchMore commands: run python3 -m run -h.
Deploy to Heroku with one click using the Container stack:
Once successfully deployed, test your Getter by sending .ping in any chat.
Command prefix:
- Default prefix is
.(dot) - If you set a custom
HANDLERin your config, use that prefix instead (e.g.,!ping,/ping) - If
NO_HANDLERis set toTrue, send commands without any prefix (e.g.,ping)
Get all commands: .help - This will show you all available plugins, commands, and how to use them.
Getter supports updating directly through Telegram or Git.
To update directly from your Telegram account, run this command in any chat:
.help updaterThen choose the update option to check for updates, view changelog, or update Getter.
For manual updates using Git:
git pullIf you updated from an older version and experience errors, fix your local repo with:
git fetch origin && git reset --hard origin/mainThis is NOT required for fresh installs.
Create custom plugins at ./getter/plugins/custom/plugin_name.py.
Dynamic plugin management:
- Upload your
plugin_name.pyfile anywhere in Telegram (plugin name must be unique) - Reply to the file with
.loadto download, activate, or update the plugin - Reply to the plugin file with
.unload [plugin_name]to remove it
Example plugin:
from . import kasta_cmd
# Works everywhere (e.g., groups, personal chats)
@kasta_cmd(pattern="hi")
async def _(event):
await event.eor("Hello **World**")
# Works only in personal chats
@kasta_cmd(pattern="hi", func=lambda e: e.is_private)
async def _(event):
await event.eor("Hello **World**")
# Works only in channels
@kasta_cmd(pattern="hi", func=lambda e: e.is_channel and e.chat.broadcast)
async def _(event):
await event.eor("Hello **World**")
# Works only in groups
@kasta_cmd(pattern="hi", func=lambda e: e.is_group)
async def _(event):
await event.eor("Hello **World**")
# Works only in groups or channels
@kasta_cmd(pattern="hi", func=lambda e: not e.is_private)
async def _(event):
await event.eor("Hello **World**")For available modules, imports, functions, and methods, see __init__.py.
If you’re enjoying it or want to support development, feel free to donate. Thank you! ❤️
Want to contribute? Read the Contributing.
Released under the AGPL-3.0 License.