Skip to content

TimaxLacs/tg-runner-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🤖 TG Runner CLI

Python License Platform

CLI для запуска Telegram-ботов через TG Runner

Быстрый стартКомандыРежимы деплоя


✨ Возможности

  • 🚀 Три режима деплоя: код, Docker, Git
  • 📊 Полное управление: start, stop, logs, status
  • 🔒 Изоляция: каждый бот в Docker-контейнере
  • 🎨 Красивый UI: цветной вывод с Rich

📦 Установка

pip install tg-runner-cli

🚀 Быстрый старт

1. Настройка

export TG_RUNNER_URL=http://your-orchestrator:8000
export TG_RUNNER_TOKEN=your-token

2. Запуск бота

# Простой бот из файла
tg-runner start my-bot --simple bot.py \
  -r "aiogram>=3.0" \
  -e "BOT_TOKEN=123:ABC..."

# Из Git репозитория
tg-runner start my-bot --git https://github.com/user/bot.git \
  -e "BOT_TOKEN=123:ABC..."

3. Управление

tg-runner list              # Список ботов
tg-runner status my-bot     # Статус
tg-runner logs my-bot       # Логи
tg-runner stop my-bot       # Остановка

📋 Команды

Команда Описание
start Запустить бота
stop Остановить бота
update Обновить код бота
restart Перезапустить
list Список всех ботов
status Статус бота
logs Логи бота

🎯 Режимы деплоя

1️⃣ Simple — Код напрямую

# Один файл
tg-runner start bot --simple bot.py -r "aiogram>=3.0"

# Несколько файлов
tg-runner start bot --simple main.py handlers.py -r "aiogram,aiohttp"

# Inline код
tg-runner start bot --simple --inline --code 'print("Hello")'

2️⃣ Custom — Dockerfile/Git

# Из директории с Dockerfile
tg-runner start bot --custom ./my-project/

# Из Git репозитория
tg-runner start bot --git https://github.com/user/bot.git --branch main

3️⃣ Image — Готовый Docker-образ

tg-runner start bot --image ghcr.io/user/my-bot:v1.0

# С авторизацией
tg-runner start bot --image registry.com/bot:latest \
  --registry-user user --registry-pass token

📝 Пример бота

bot.py:

import asyncio, os
from aiogram import Bot, Dispatcher, types
from aiogram.filters import Command

bot = Bot(token=os.environ["BOT_TOKEN"])
dp = Dispatcher()

@dp.message(Command("start"))
async def start(message: types.Message):
    await message.answer("Привет! 👋")

@dp.message()
async def echo(message: types.Message):
    await message.answer(message.text)

asyncio.run(dp.start_polling(bot))

Запуск:

tg-runner start echo-bot --simple bot.py \
  -r "aiogram>=3.0" \
  -e "BOT_TOKEN=123:ABC..."

⚙️ Конфигурация

Переменная Описание
TG_RUNNER_URL URL оркестратора
TG_RUNNER_TOKEN Токен клиента

Или через флаги:

tg-runner --url http://localhost:8000 --token mytoken start ...

🔗 Экосистема TG Runner

Компонент Описание
tg-runner-orchestrator Orchestrator
tg-runner-worker Worker
tg-runner-cli CLI (этот репо)

🔒 Лимиты

Параметр Значение
Макс. ботов 3
Время работы 24 часа
RAM 256 MB
CPU 0.5 cores

📄 Лицензия

MIT License


Made with ❤️ by TimaxLacs

About

CLI for managing Telegram bots via TG Runner

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages