Skip to content

Your ideal tool for promoting on social networks! Get more subscribers, views and more with ease and efficiency.

Notifications You must be signed in to change notification settings

SMOService/SMMPanel-SMOService-Telegram-Bot

 
 

Repository files navigation


Logo

Promotion on social networks via Telegram bot

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

Downloads Contributors Issues License

Содержание

О проекте

Screen Shot

🚀 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

  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-режима.
      1. Сохраните и закройте файл .env.

Шаг 2

  1. Получение 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

Это позволит вам удостовериться, что ваш бот успешно запущен и работает корректно.

Предложения и известные баги

Список предлагаемых функций (и известных проблем) см. в разделе "Открытые вопросы".

Авторы

Благодарности

About

Your ideal tool for promoting on social networks! Get more subscribers, views and more with ease and efficiency.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 78.0%
  • CSS 20.4%
  • HTML 1.6%