VPS для Telegram-userbot: Telethon и Pyrogram
Userbot работает от имени обычного аккаунта, а не бота BotFather — он видит все чаты, может автоматизировать рассылки, парсить каналы и отвечать за вас. Чтобы сессия жила круглосуточно и не отваливалась, userbot держат на VPS. Разберём деплой на Telethon и Pyrogram.
Содержание
Чем userbot отличается от обычного бота
['Обычный бот создаётся через @BotFather и ограничен API ботов: он не видит историю чата до подключения, не может вступать в группы сам и работает только там, куда его добавили. Userbot же авторизуется как живой аккаунт через MTProto и получает те же возможности, что и человек в приложении Telegram.', 'Это открывает автоматизацию, недоступную ботам: мониторинг закрытых каналов, автоответы в личке, парсинг участников групп, пересылку по правилам. Обратная сторона — userbot должен быть онлайн постоянно, иначе он пропустит события. Именно поэтому его место на VPS, а не на домашнем ПК.', '- Полный доступ к аккаунту — все чаты, каналы, история.
- MTProto-сессия — авторизация как у обычного клиента.
- Нужен аптайм 24/7 — иначе события проходят мимо.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для userbotВажное про безопасность аккаунта
['Userbot использует ваш реальный номер и API-ключи с my.telegram.org. Агрессивные рассылки и массовое добавление в чаты Telegram расценивает как спам и может ограничить или заблокировать аккаунт. Держите автоматизацию в рамках здравого смысла: паузы между действиями, никаких массовых инвайтов.', 'Файл сессии (.session у Telethon, .session у Pyrogram) — это фактически ключ от аккаунта без пароля. Кто получил файл, тот вошёл в ваш Telegram. Храните его на сервере с правами 600 и никогда не коммитьте в git.', "chmod 600 ~/userbot/*.session\necho '*.session' >> ~/userbot/.gitignore"]
Установка Telethon или Pyrogram
['Обе библиотеки асинхронные и лёгкие. Ставим Python, создаём окружение и выбираем одну из них.', "sudo apt update && sudo apt install -y python3 python3-venv git\nsudo useradd -r -m -s /bin/bash ubot\nsudo -u ubot bash -c 'cd ~ && python3 -m venv venv && venv/bin/pip install telethon'\n# или Pyrogram + TgCrypto для скорости:\nsudo -u ubot bash -c '~/venv/bin/pip install pyrogram tgcrypto'", 'API_ID и API_HASH берутся на my.telegram.org в разделе API development tools. Держите их в .env вместе с номером телефона.']
Первый вход и создание сессии
['Авторизацию с вводом кода нужно пройти один раз — интерактивно. Запустите скрипт вручную по SSH, введите код из Telegram, и библиотека сохранит session-файл. Дальше вход будет автоматическим.', "from telethon import TelegramClient, events\nimport os\n\nclient = TelegramClient('userbot', int(os.environ['API_ID']), os.environ['API_HASH'])\n\n@client.on(events.NewMessage(pattern='ping'))\nasync def handler(e):\n await e.reply('pong с VPS')\n\nclient.start()\nclient.run_until_disconnected()", 'cd ~/userbot && ../venv/bin/python userbot.py\n# вводим код подтверждения из Telegram один раз', 'После успешного входа появится файл userbot.session — с ним бот заходит без кода.']
Автозапуск через systemd
['Когда сессия создана, оформляем userbot как сервис, чтобы он работал круглосуточно и переживал ребут.', "sudo tee /etc/systemd/system/userbot.service > /dev/null <<'EOF'\n[Unit]\nDescription=Telegram userbot\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nUser=ubot\nWorkingDirectory=/home/ubot/userbot\nEnvironmentFile=/home/ubot/userbot/.env\nExecStart=/home/ubot/venv/bin/python userbot.py\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target\nEOF\nsudo systemctl daemon-reload\nsudo systemctl enable --now userbot\njournalctl -u userbot -f", 'Пауза перед перезапуском здесь чуть больше (10 секунд) — при флаппинге соединения не стоит частить переподключениями, чтобы Telegram не счёл это подозрительной активностью.']
Ресурсы, сервер и частые ошибки
['Userbot почти не потребляет ресурсов — хватает младшего тарифа. Важнее стабильная сеть и постоянный IP: частая смена IP при переподключениях выглядит для Telegram подозрительно. У MAATRIX фиксированный IP, локации UK и США близки к сети Telegram, а AMD EPYC + NVMe гарантируют мгновенный отклик. Оплата картой РФ, СБП, криптой или MAAT — удобно из России.', '- Session-файл в git — полная компрометация аккаунта.
- Массовые рассылки — Telegram ограничит или заблокирует номер.
- Запуск сессии в двух местах — конфликт, аккаунт может разлогиниться.
- Нет Restart — после разрыва связи userbot не переподключится сам.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS для userbotЧастые вопросы
Telethon или Pyrogram — что лучше?
Обе зрелые. Telethon даёт более низкоуровневый доступ к MTProto, Pyrogram с TgCrypto чуть быстрее и с приятным API. Для большинства задач выбор непринципиален.
Могут ли забанить аккаунт за userbot?
Да, за спам, массовые инвайты и агрессивную автоматизацию. Держите разумные паузы и не рассылайте по незнакомым — тогда риск минимален.
Нужно ли вводить код при каждом запуске?
Нет. Код вводится один раз при создании session-файла. Дальше userbot заходит автоматически, пока сессия действительна.