Как установить бота Телеграмм на хостинг

В этом видео я покажу как установить телеграм бота на хостинге (сервере), также настроим сервер и установим всё необходимое для нормальной работы бота на aiogram с Базой Данных PostgreSQL.

========================================
Установка PyCharm + Python — https://youtu.be/Vts5X16VGiE
Установка PostgreSQL и pgAdmin4 — https://youtu.be/wtfxV7QXYKo
========================================
Полезные ссылки:
Подписка на канал — https://www.youtube.com/c/Redlyy?sub_confirmation=1
Плейлист по разработке асинхронного телеграм бота на Python — https://youtube.com/playlist?list=PLPELDof3v08efHGT3gVLPCXG5cKRo50Nn
========================================
Команды для сервера:
sudo apt update Обновляем пакеты на сервере
sudo apt -y upgrade Обновляем пакеты на сервере

dpkg-reconfigure locales Устанавливаем нужные нам языки
LANG=en_US.UTF-8 Выбираем язык с нужной кодировкой

sudo apt -y install python3-pip Устанавливаем pip3

За 10 минут — выгрузка (деплой) телеграм-бота на хостинг и его запуск.


sudo apt -y install build-essential libssl-dev libffi-dev python3-dev Устанавливаем несколько дополнительных пакетов и средств разработки

sudo apt install -y python3-venv Устанавливаем виртуальное окружение(VENV)

sudo apt -y install postgresql postgresql-contrib Устанавливаем postgresql и дополнительный пакет -contrib, который содержит дополнительные утилиты и функциональные возможности

sudo -i -u postgres Заходим из под пользователя postgres
createuser —interactive Создаем новую роль
sudo adduser gino Добавляем нововго пользователя
createdb gino Создаем базу данных gino
alter role gino login password ‘Vlad1234’; Изменяем пароль для пользователя gino

sudo apt -y install screen Устанавливаем screen(нужен для запуска отдельного окна в фоне)

Команды для скрина:
screen -S screen_name — Создаем новый скрин
screen -ls — Посмотреть список запущенных скринов
screen -r screen_name — Открыть уже запущенный скрин
Ctrl + A + D — Свернуть запущенный скрин
Ctrl + A и ввести команду :quit — Выключить скрин

#Redly #Python #Telegram #TelegramBot #Деплой #Бот #Deploy

Источник: best-coding.ru

Как установить БОТА telegram на обычный хостинг

Как установить БОТА telegram на обычный хостинг

Listen to this article

Чтобы открыть контент, необходимо пройти быструю регистрацию или войти в свой профиль. После этого Вы получите полный доступ ко всем материалам на портале.

Еще по теме:  Боо в Телеграме который найдет челвоека по имени

Установка Telegram бота на ХОСТИНГ (СЕРВЕР) | Настройка сервера

Спасибо что вы с нами!

Создание и хостинг телеграм бота

Привет, хабрчане! Какой бы заезженной не была тема создания телеграм бота на python3, я не нашёл инструкций, где показан путь от первой строчки кода до деплоинга бота (по крайней мере все методы, что я видел, немного устарели). В этой статье я хочу показать процесс создания бота от написания BotFather-у до деплоинга бота на Heroku.

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

P.S. Пишите если нужна статья по созданию более сложного бота, т.е. с вебхуками, БД с настройками юзеров и т.д.

  1. BotFather.
  2. Установка и настройка pipenv. Первый запуск.
  3. Хэндлеры. Отвечаем на команды и сообщения.
    • Основы взаимодействия. Ответ на команды.
    • Основы взаимодействия. Ответ на текстовые сообщения.
    • Основы взаимодействия. Ответ на картинки, документы, аудио и прочие.
    • Строим цепочку ответов.
    • Добавляем парсер в цепочку.
    • Теория. Методы взаимодействия с ботом.
    • Маркапы. Добавляем клавиатуры для быстрого ответа.
    • Деплоим бота на Heroku.
    • Ссылки.
    • Заключение.

    BotFather

    Для начала нам надо зарегистрировать нашего бота в Telegram. Для этого:

    Пишем /newbot. Указываем имя бота (то, что отображается в диалогах). Указываем его логин, по которому его можно булет найти.

    P.S. Оно должно заканчиваться на Bot/bot

    Вот. Нам дали API ключ и ссылку на бота. Желательно сохранить API ключ и перейти в диалог с ботом, чтобы потом не копаться в переписке с BotFather

    Дальше добавим ему пару команд: пропишем /setcommands и одним сообщением, т.к. /setcommands не добавляет команды, а задаёт их с нуля, пошлём ему команды.

    all — спарсить заголовки с вкладки «ВСЁ ПОДРЯД»
    top — спарсить заголовки с вкладки «ЛУЧШЕЕ»

    На этом работа с BotFather закончилась, перейдём к следующей части.

    Установка и настройка pipenv. Первый запуск.

    Для начала создадим файл, в котором будет основной код бота bot.py. Если бот большой, то сразу создавайте файлы, куда вы вынесете функции, классы и т.д, иначе читаемость кода стремится к нулю. Я добавлю parser.py

    Еще по теме:  Давинчик анкеты в ТГ

    Установим pipenv, если его конечно ещё нет.

    Установим pipenv в папку проекта.

    Установим интересующие нас библиотеки. Я буду работать с PyTelegramBotAPI. Также для парсинга добавим BeautifulSoup4.

    Начинаем писать код!

    Открываем bot.py, импортируем библиотеки и создаём главные переменные.

    Запустим бота. Посмотри наличие ошибок.

    Если ошибок не появилось, то продолжим.

    Хэндлеры. Отвечаем на команды и сообщения

    Пришло время научить бота отвечать нам. Возможно даже сделать его ответы полезными.

    Основы взаимодействия. Ответ на команды

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

    Начнём с самого простого: ответим на команды /start и /go

    Сейчас разберёмся что это и как это работает. Передаём в message_handler параметр commands равный массиву со строками — командами, на которые он будет отвечать описанным ниже образом. (На все эти команды он ответит одинаково). Далее используем send_message, в него записываем id чата (его можно достать из message.chat.id), в который отправить сообщение и, собственно, само сообщение. Нельзя забыть написать bot.polling() в конце кода, иначе бот сразу же выключиться. Почему так мы узнаем позже.

    Теперь можно запустить бота и написать ему /start или /go и он ответит.

    P.S. Сообщение может быть не только строкой, а, в принципе, чем угодно.

    Это json объект, хранящий информацию об отправителе, чате, и самом сообщении.

    Основы взаимодействия. Ответ на текстовые сообщения.

    Теперь обработаем текстовые сообщения бота. Самое важное что нам нужно знать это то, что текст сообщения храниться в message.text и то, что, чтобы обрабатывать текст в message_handler нужно передавать content_types=[‘text’].

    Добавим вот такой код.

    Тут мы довабили пару переменных: вынесли текст сообщения (в нижнем регистре, чтобы не было лишних проблем с теми кто пишет капсом, заборчиком и т.д.) в переменную text, вынесли message.chat.id в отдельную переменную, чтобы каждый раз не обращаться к message. Также мы построили небольшое ветвление, для ответа на определённые сообщения, а также ответ на случай непонятного боту сообщения.

    Еще по теме:  Группа Телеграмм сытый друг пожаловаться на мошенников
    Основы взаимодействия. Ответ на картинки, документы, аудио и прочие.

    Для ответа на картинки, стикеры, документы, аудио и т.д. нужно всего лишь поменять content_types=[‘text’].

    Рассмотрим пример с картинкой, добавив этот код.

    Все типы контента:

    text, audio, document, photo, sticker, video, video_note, voice, location, contact, new_chat_members, left_chat_member, new_chat_title, new_chat_photo, delete_chat_photo, group_chat_created, supergroup_chat_created, channel_chat_created, migrate_to_chat_id, migrate_from_chat_id, pinned_message

    Строим цепочку ответов.

    Пришло время закончить с элементарными действиями и начать что-то серьёзное. Попробуем построить цепочку ответов. Для этого нам понадобиться register_next_step_handler(). Создадим простой пример, на котором и разберёмся как работает register_next_step_handler().

    И так, в первой функции добавился bot.register_next_step_handler(msg, askAge), в него мы передаём сообщение, которые хотим послать, и следующий щаг, к которому перейти после ответа пользователя.

    Во второй функции всё поинтересней, здесь идёт проверка ввёл ли пользователь число, и, если нет, то функция рекурсивно вызывает сама себя, с сообщением «Возраст должен быть числом, введите ещё раз.». Если пользователь ввёл всё верно, то он получает ответ.

    Но, есть тут проблема. Можно повторно вызвать команду /go или /start, и начнётся бардак.

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

    С построением простых цепочек мы разобрались, пойдём дальше.

    Добавляем парсер в цепочку.

    Для начала нужен сам парсер. Обратим внимание на то, что во вкладках «Лучшее» и «Всё подряд» есть дополнительные фильтры: сутки, неделя, месяц и ≥10, ≥25, ≥50, ≥100 соответственно.
    Парсер конечно можно написать и в 1 функцию, но я разобью на 2, так будет проще читать код.

    По итогу парсер возвращает нам строку с заголовками статей, основываясь на наших запросах.
    Пробуем, используя полученные знания, написать бота связанного с парсером. Я решил создать отдельный класс (это скорее всего неправильный метод, но это уже относится к питону, а не к основной теме статьи), и в объекте этого класса хранить изменяемые данные.

    Теория. Методы взаимодействия с ботом.
    Рейтинг
    ( Пока оценок нет )
    Загрузка ...