Бот дедик для ТГ на телефоне

Тогда он будет работать круглые сутки, а вы — отдыхать.

Не так давно мы создали телеграм-бота на Python: можно было написать ему свой знак зодиака, а он в ответ давал предсказание о долгой счастливой жизни. Но у бота есть недостаток: он работает, пока запущена программа на нашем компьютере. Если мы её остановим или выключим компьютер, бот тоже перестанет отвечать на сообщения.

Вот что мы сделаем, чтобы бот работал независимо от всего:

  1. Выберем сервер.
  2. Подготовим программу для работы на нём.
  3. Зальём программу на сервер.
  4. Настроим сервер, чтобы он исполнял программу.

Выбираем сервер

Нам нужен сервер, который умеет работать с Python и запускать файлы программы автоматически. На самом деле он у нас уже есть — на нём крутится сайт mihailmaximov.ru. Если вы всё пропустили — держите подборку:

  • что такое домен и как его получить;
  • делаем страницу «О себе»;
  • как опубликовать свой сайт в интернете.

Тот хостинг, который мы выбрали для проектов, уже умеет запускать Python-файлы. Если вы пользуетесь другим сервисом, то проверьте, умеет ли он то же самое.

Бот для телеграмма на телефон ака троллинг

Готовим программу и отправляем её на сервер

Единственное, что нужно добавить в наш код телеграм-бота, — специальную команду интерпретатору, чтобы он знал, как работать с нашим файлом. Но перед этим нужно проверить, какая версия Python на нём установлена.

Чтобы это узнать, соединимся с сервером по протоколу SSH и спросим у него напрямую. Для этого используем программу Putty, а настройки подключения возьмём в личном кабинете хостинга:

Вставляем их в Putty и подключаемся. Помните, что для безопасности во время ввода пароля курсор стоит на месте, чтобы никто не смог выяснить, сколько символов вы набираете. Когда подключились, вводим команду python3.3 -V — она покажет, есть ли на сервере поддержка этой версии Python:

Теперь добавляем в самое начало нашего файла с программой такую строчку:

В статье о том, как опубликовать сайт в интернете, мы рассказывали, как залить файлы на сервер. Это умение нам сейчас пригодится: сохраняем нашу программу с гороскопом как файл с расширением .py и отправляем его на сервер в папку cgi-bin (то, что лежит в этой папке, никто не увидит):

Запускаем телеграм-бота на сервере

Настраиваем сервер

Теперь научим сервер понимать, как работать с нашей программой. Для этого в корне сайта находим файл .htaccess и добавляем в него такую строчку:

AddHandler cgi-script .py

Если у вас такого файла нет — создайте его и не забудьте про точку в самом начале названия.

Еще по теме:  Как изменить качество кружочков в Телеграмме

Последнее, что осталось сделать, — настроить права доступа у файла с программой. Находим её среди файлов хостинга и выставляем права 755 или rwxrwxr-x:

Запускаем телеграм-бота на сервере

Теперь с помощью Putty снова подключаемся к серверу и настраиваем рабочее окружение. Это как будто виртуальная песочница, где мы сможем ставить нужные модули для Python, чтобы не мешать остальным пользователям сервера.

Всё, что мы будем делать дальше, относится к хостингу SpaceWeb. Если у вас другой хостинг, то, возможно, часть команд вам не пригодится и Python будет работать напрямую. У нас так не работает, поэтому делаем виртуальное окружение.

В SSH-терминале пишем по очереди такие команды (вместо .thecode можно написать название каталога, которое вам по душе):

virtualenv .thecode source .thecode/bin/activate

Эти две команды создадут виртуальное пространство для запуска Python-файлов.

Теперь установим Python-модуль для работы с Телеграмом:

pip install pytelegrambotapi

Когда установка закончится, пишем такую команду:

nohup python3 /home/t/thecode/osebe/public_html/cgi-bin/telegoroskop.py

/home/t/thecode/osebe/ — это наш путь к папке cgi-bin, а у вас он будет другим. Поменяйте путь на свой и запускайте.

Чтобы программа продолжала работать после того, как мы закроем SSH-клиент, в самом начале пишем команду nohup .

Что дальше

Футбольный телеграм бот на Python (4/4): Запуск на сервере

В четвертой части серии статей по написанию телеграм бота на python, запустим его на сервере. Для разнообразия и правдоподобия я выбрал вариант размещения на VPS, а не Heroku.

Во-первых, Heroku очень редко используют в продакшене. Его платные тарифы сильно выше стоимости аренды сервера.

Во-вторых, крупные кампании дают виртуальные машины бесплатно на год. Этого достаточно, что бы 4 года не платить за работу сервера.

Получение VPS

Как я уже написал, есть возможность получить VPS бесплатно на год. Выбирайте любой:

  • AWS Amazon, продукт Amazon EC2.
  • Azure Microsoft, продукт Виртуальные машины Linux.
  • Google Cloud, продукт Compute Engine.
  • Alibaba Cloud, продукт Elastic Compute Service.

Только не активируйте все сразу, это разовое предложение.

Не буду подробно описывать, как развернуть VPS, у этих платформ документации на высоком уровне. Если у вас трудности с английским и переводчиками, начинайте с Azure. У них много русской документации. Скажу только, что крайне желательно выбирать OS Ubuntu 18.04.

Процесс получения бесплатного периода и создание виртуальной машины достаточно тернист. Если вы никогда не делали это ранее, будьте готов потратить 1-2 часа на знакомство с облачными решениями.

Я буду использовать VPS с почасовой оплатой от reg.ru. Это дешевое и простое решение. Для обучения и демонстрации можно запускать на несколько часов по цене от 0,32 ₽/час. А постоянная работа подобного бота будет стоить 215 рублей в месяц.

Еще по теме:  Как зайти в Телеграмм чтобы не быть онлайн

Подключение к виртуальной машине

Для подключения к VPS нужно знать ip (IPv4), логин (обычно «root») и пароль.

С Linux и MacOS можно подключится из терминала. Введите команду, логин и ip сервера.

Для windows можно скачать терминал Ubuntu. Если такой вариант не подходит, используйте PuTTY (порт: 22). Вот так выглядит консоль. Для подключения требуется ввести «yes» и пароль.

Футбольный телеграм бот на Python (4/4): Запуск на сервере

После входа я узнал какая версия python установлена командой python -V . Из коробки стоит 3.6.9, а проект на 3.8.5, нужно обновить.

Подготовка сервера

  1. Установим необходимую версию python. Внимательно вводите эти команды по очереди, это процесс кастомной установки.

$ sudo apt update $ sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev $ wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz $ tar -xf Python-3.8.5.tgz $ cd Python-3.8.5 $ ./configure —enable-optimizations $ make # ~15 минут $ sudo make altinstall $ cd /home

Немного деталей. Я скачал архив, распаковал и установил python 3.8.5. Будет готов подождать пока выполнится команды make . Введите python3.8 -V и убедитесь, что можно продолжать:

/home# python3.8 -V Python 3.8.5

2. Создадим проект. Установим и создадим виртуально окружение. Выполняйте команды по очереди:

$ python3.8 -m pip install —upgrade pip $ pip install virtualenv $ mkdir fonlinebot $ cd fonlinebot $ virtualenv venv $ source venv/bin/activate $ python -V $ deactivate

Инвайт бот в Телеграм

Инвайт бот в Телеграм

Описание Инвайт бот разработан как лёгкая альтернатива настольным программам. С его помощью можно инвайтить пользователей в свою группу используя только мобильный телефон, для этого достаточно отправить ему несколько команд. Он ориентирован преимущественно на работу с мобильными устройствами и призван экономить время.

Меню бота /start — СТАРТ /stop — СТОП /add_account — Добавить аккаунт /delete_account — Удалить аккаунт /add_proxy — Добавить прокси /invite — Инвайт /info — Информация

Начало работы Первым делом необходимо добавить в бота аккаунт, который будет использоваться для инвайта. Не используйте личный аккаунт, так как рискуете потерять его навсегда.

Жмем /add_account и вводим номер телефона аккаунта в формате 89991234567 или 79991234567 (без +). Двухэтапная аутентификация в момент регистрации аккаунта в боте должна быть отключена, включить можно будет обратно после авторизации.

Посмотреть список всех добавленных аккаунтов можно командой /info. Для инвайта рекомендуем использовать номера РФ, они самые стабильные. Проверенный сервис для аренды виртуальных номеров и приёма смс-сообщений ЗДЕСЬ.

Далее к аккаунту необходимо ОБЯЗАТЕЛЬНО подключить прокси (нужны приватные серверные прокси IP v4 SOCKS5 для Телеграм). Качественные и недорогие прокси можно приобрести у проверенного провайдера ЗДЕСЬ. Не используйте публичные, мобильные и другие виды прокси, они не будут работать!

Жмем /add_proxy —> Приватный прокси —> Выбираем номер (79917113212)

Указываем прокси в формате ip:port:username:password

В нашем случае получается так 31.184.193.121:36912:34fb35dbb6:dd35bb2fb6

Еще по теме:  Бот в Телеграмме заблокировал на 30 минут

Жмем /info и видим, что прокси добавились корректно, теперь мы готовы к инвайту.

Если необходимо сменить прокси, то повторяем все действия сначала. Если нужно удалить данные прокси, то жмем /add_proxy —> Приватный прокси —> Выбираем номер (79917113212) и отправляем боту None:None. На этом настройка закончена.

Инвайт по списку Перед началом убедитесь, что аккаунт, с которого будем инвайтить, добавлен в целевую группу.

Инвайт из группы Перед началом убедитесь, что аккаунт, с которого будем инвайтить, добавлен в целевую группу и в группу, откуда будет парситься аудитория.

Жмем /invite —> Пользователи из чата —> Целевая группа —> Группа, откуда берем пользователей —> Количество пользователей —> Порядковый номер аккаунта .

Рекомендации новичкам 1) Ознакомиться со статьей по лимитам в Телеграм. 2) Обязательно купить приватные серверные прокси IP v4 SOCKS5 для Телеграм (можно ЗДЕСЬ). 3) Не инвайтить сразу со всех аккаунтов, тренируйтесь по одному, чтобы разобраться во всех процессах. 4) Бот капризный на ошибки, если что-то не получается, сначала прерывайте выполнение командой /stop, потом повторяйте действия сначала. 5) Не использовать публичные прокси (ip:port). 6) Использовать 1 приватный прокси на 2 аккаунта. 7) Инвайт напрямую из группы будет работать только при условии, что там открыты пользователи. 8) Для инвайта использовать аккаунты РФ (иностранные плохо работают).

FAQ Бывает, что бот дублирует команды, в этом случае прерываем выполнение командой /stop (может потребоваться 2-3 раза), ждем 15 секунд и повторяем все действия заново.

На некоторых аккаунтах инвайт будет работать только после выдачи разрешения боту на получение данных этого аккаунта. После запуска инвайта появится команда Процесс. и дальше команды выполняться не будут.

Телеграм пришлет сообщение: Data export request. Василий Пупкин 3, we received a request from your account to export your Telegram data. Нужно одобрить этот запрос нажав на кнопку Allow.

Если вы зарегистрировали (или купили) аккаунт и прошло менее 24-х часов с момента добавления его к себе в приложение на телефоне или на компьютере, то можно увидеть такое сообщение.

В этом случае одобрить запрос нужно будет на устройстве, где вы авторизовались более 24-х часов назад или придется ждать сутки, это требование Телеграм. После успешного одобрения можно продолжить пользоваться аккаунтом в боте без каких-либо ограничений.

Когда аккаунт попадает в спам-блок Телеграм, бот может выдать сообщение об ошибке: Telegram says: [420 FLOOD_WAIT_X] — A wait of 21561 seconds is required (caused by «channels.InviteToChannel»)

Задержка между инвайтом установлена в боте 15 секунд, инвайт возможен только по логинам пользователей.

При соблюдении этих рекомендаций, лимитов и корректных настроек, бот будет выполнять свои функции на 100%.

Надеюсь было интересно! Удачи в продвижении!

Источник: apbot.ru

Рейтинг
( Пока оценок нет )
Загрузка ...