An automated promotion system in social networks working through a Telegram bot using the API of the SmmPanel and SMOFast sites.
Explore the docs »
View Demo
Report Bug
Request Feature
🚀 SMOService & RosMedia - Ваши идеальные инструменты для продвижения в социальных сетях! Получайте больше подписчиков, просмотров и многое другое с легкостью и эффективностью.
Основные функции:
- Новый заказ: Быстро и удобно создайте заказ на накрутку нужного параметра.
- История: Отслеживайте все свои заказы и их статус в одном месте.
- Кошелек: Управляйте своими средствами, пополняйте баланс и оплачивайте услуги.
- Рефералы: Приглашайте друзей и знакомых, получая вознаграждение за их активность.
- Чеки: Поделитесь деньгами с кем-либо, используя простую ссылку для передачи.
- Мои боты: Уникальный функционал! Создайте копию этого бота с новым ID.
Присоединяйтесь к нам и делайте ваш аккаунт популярным!
Бот разработан с использованием современных технологических решений, обеспечивающих высокую производительность и стабильность работы. Использование асинхронных библиотек позволяет боту быстро и эффективно обрабатывать большое количество запросов, адаптируясь к высоким требованиям современных пользователей.
Для успешной настройки и стабильной работы бота необходимо следовать нижеуказанным техническим требованиям:
-
Сервер: Хостинг: Рекомендуется использовать VPS или выделенный сервер для оптимальной производительности и надежности. Сервер должен иметь стабильное интернет-соединение и соответствующие ресурсы (CPU, RAM) в зависимости от ожидаемой нагрузки. Операционная система: Рекомендуются современные дистрибутивы Linux, такие как Ubuntu, CentOS или Debian. Однако большинство UNIX-подобных систем также подойдут. Программное обеспечение: Python 3: Убедитесь, что на сервере установлена последняя стабильная версия Python 3. Это основной язык программирования, на котором написан ваш бот.
-
pip: Система управления пакетами для Python. Необходима для установки необходимых библиотек и зависимостей.
-
Примечание: Перед началом настройки рекомендуется проверить все установленное программное обеспечение на актуальность версий и наличие всех необходимых зависимостей.
Для автоматической установки всех необходимых библиотек, вы можете использовать файл requirements.txt с приведенным выше содержимым, выполнив команду:
pip install -r requirements.txt
Это обеспечит установку всех нужных зависимостей для надежной работы вашего бота.
Шаг 1
-
Настройка файла .env для вашего бота Для корректной работы вашего бота необходимо правильно настроить файл конфигурации .env. Для этого выполните следующие действия:
-
1 Создайте копию файла .env.dist и переименуйте её в .env:
cd /path_to_bot_directory mv .env.dist .env
-
2 Откройте файл .env и отредактируйте его переменные.
BOT_URL= # Url ведущий на сервер вашего бота HOST=127.0.0.1 PORT= # Порт, который будет задействован # Bot settings BOT_TOKEN= # Токен, полученный у @BotFather ADMIN_ID= # Telegram ID администратора бота MAIN_BOT_PATH= # Путь для Webhook главного бота OTHER_BOTS_PATH= # Путь для Webhook пользовательских ботов # Tegro shop (Активно) TEGRO_API_URL=https://tegro.money/pay/ TEGRO_SHOP_ID= # ShopID вашего магазина Tegro.money TEGRO_API_KEY= # API ключ вашего магазина TEGRO_SECRET_KEY= # Секретный ключ вашего магазина # Cryptopay (Активно) CRYPTO_TOKEN= # Токен вашего магазина CryptoPay CRYPTO_TOKEN_TEST= # Токен вашего магазина CryptoPay в сети Testnet # Ton wallet (В разработке) WPAY_STORE_API_KEY= # Ключ вашего магазина Ton Wallet # Unitpay (В разработке) UNITPAY_API_URL=https://unitpay.ru/api UNITPAY_PROJECT_ID= # ID вашего проекта UnitPay UNITPAY_SECRET_KEY= # Секретный ключ вашего магазина # Cloudpayments (В разработке) CLOUDPAYMENTS_API_URL=https://api.cloudpayments.ru CLOUDPAYMENTS_PUBLIC_ID= # Cloudpayments public id CLOUDPAYMENTS_SECRET_KEY= # Cloudpayments secret key # SmoService SMOSERVICE_KEY= # API ключ вашего аккаунта SmoService SMOSERVICE_USER_ID= # User ID вашего аккаунта SmoService #SmmPanel SMMPANEL_KEY= # SmmPanel api key # Scheduled tasks intervals CHECK_ORDER_STATUS_INTERVAL=120 # Интервал проверки заказов AUTO_STARTING_ORDERS_INTERVAL=60 # Интервал активации новых заказов # WebApp links HELP_URL=https://ros.media/faq # Url для кнопки "Помощь" FAQ_URL=https://smoservice.media/faq.php # Url для кнопки "FAQ" # Broadcast messages BROADCAST_MESSAGES_PER_SECOND=10 # Количество сообщений в минуту при рассылке DEBUG=0 # Включение Debug-режима.
-
- Сохраните и закройте файл .env.
-
Шаг 2
-
Получение HTTPS сертификата через Certbot Для обеспечения безопасности соединения с вашим сервером рекомендуется использовать HTTPS сертификат. Чтобы его получить, следуйте указаниям ниже:
-
2.1. Перейдите на официальный сайт Certbot по следующей ссылке: https://certbot.eff.org/
-
2.2. На сайте выберите программное обеспечение (web-сервер) и систему, которые используются на вашем сервере.
-
2.3. Следуйте предложенной инструкции на сайте для установки и настройки Certbot. Это обычно включает в себя несколько команд, которые необходимо выполнить в вашем терминале или командной строке.
-
2.4. После успешной настройки и получения сертификата, Certbot выведет в консоли информацию о местоположении ключей сертификата.
-
2.5. Запишите или сохраните следующие пути: Путь к вашему приватному ключу (обычно privkey.pem) Путь к полному цепочному сертификату (обычно fullchain.pem)
-
2.6. Укажите сохраненные пути в вашем конфигурационном файле или там, где это требуется для настройки вашего сервера.
🚫 Никогда не делитесь приватными ключами и убедитесь, что у них соответствующие права доступа, чтобы они были недоступны для всех, кроме необходимых служб и администратора.
-
Шаг 3 Настройка Nginx для работы с вашим ботом Для того чтобы ваш Telegram бот мог корректно обрабатывать запросы, необходимо настроить web-сервер Nginx. Следуйте инструкциям ниже:
-
3.1. Установка и исходная настройка Nginx
-
3.1.1. Установите Nginx:
sudo apt-get install -y nginx
-
3.1.2. Перейдите в каталог, где хранятся доступные конфигурации сайтов:
cd /etc/nginx/sites-available/
-
3.1.3. Создайте и откройте новый конфигурационный файл:
sudo nano telegram_bot.conf
-
-
3.2. Конфигурация файла В появившемся редакторе, впишите следующую конфигурацию, заменив пути к сертификату и ключу на ранее сохраненные и изменив имя вашего сервера:
server { listen 80; listen 443 ssl; server_name "доменное имя вашего сервера"; ssl_certificate "путь к сертификату"; ssl_certificate_key "путь к ключу сертификата"; location / { proxy_set_header Host $http_host; proxy_redirect off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; proxy_pass http://localhost:8001/; } }
Сохраните и закройте файл.
-
3.3. Активация и перезапуск Nginx
-
3.3.1. Перейдите в каталог с активными конфигурациями:
cd /etc/nginx/sites-enabled/
-
-
3.3.2. Создайте символическую ссылку на ваш конфигурационный файл:
sudo ln -s ../sites-available/telegram_bot.conf telegram_bot.conf
-
3.3.3. Перезапустите Nginx для применения изменений:
sudo service nginx restart
Шаг 4 Для того чтобы ваш бот всегда был в рабочем состоянии и автоматически запускался после перезагрузки сервера или внезапных отключений, создайте сервис, используя systemd.
-
4.1. Создание конфигурационного файла сервиса
-
4.1.1. Перейдите в каталог systemd, где хранятся конфигурационные файлы сервисов:
cd /etc/systemd/system/
-
-
4.1.2. Создайте и откройте новый файл для вашего сервиса:
vim tgbot.service
-
4.2. Конфигурация файла сервиса В появившемся редакторе, вставьте следующую конфигурацию, изменив путь и имя пользователя на свои:
[Unit] Description=Telegram Bot Service [Service] WorkingDirectory='путь до рабочей директории' User='имя пользователя' ExecStart=/usr/bin/python3 main.py [Install] WantedBy=multi-user.target
-
4.3. Активация и запуск сервиса
- 4.3.1. Для того чтобы активировать и автоматически запускать сервис при загрузке системы, используйте следующую команду:
sudo systemctl enable tgbot.service
-
4.3.2. Чтобы запустить вашего бота прямо сейчас с помощью созданного сервиса, используйте:
sudo systemctl start tgbot.service
Проверьте статус вашего бота с помощью команды:
sudo systemctl status tgbot.service
Это позволит вам удостовериться, что ваш бот успешно запущен и работает корректно.
Список предлагаемых функций (и известных проблем) см. в разделе "Открытые вопросы".
- DeFiTON - CPO Telegram Bot - Jason Gatsby - CPO
- Dmitrii-Kopeikin - CPO Telegram Bot - Dmitrii Kopeikin - Middle DevOps Engineer
- m1ja - Junior DevOps - Developer m1ja - Junior DevOps