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

Рассказываем, как подключить платежную систему к Telegram-боту и разместить его на сервере.

Введение

Telegram-боты обладают широкой функциональностью и решают массу задач клиентов самых разных бизнесов. Рассказываем, как создать и разместить бота для приема платежей в Telegram на Python. Видеоверсия доступна по ссылке.

В Telegram есть встроенная система оплаты, поэтому сценариев, как использовать бота для приема платежей, достаточно много. Это может быть разовая оплата заказа или ежемесячная подписка.

Платежные системы Telegram

Сейчас мессенджер поддерживает оплату в более чем 200 странах через такие шлюзы, как: Stripe, YooMoney, Sberbank, LiqPay, PayMaster и другие.

Все начинается с установки библиотеки aiogram. Сейчас, пожалуй, это самая популярная библиотека для разработки ботов на Python.

python -m pip install aiogram

Переходим в Telegram и пишем тут BotFather’у команду /newbot. Вводим имя нового бота. Важно, чтобы оно заканчивалось словом Bot.

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

Связать бота с приложением

Создаем файл config.py и вписываем в него токен, который выдал BotFather. В основном файле main.py прописываем базовый код любого бота.

Обратите внимание на один важный момент: бот должен обрабатывать каждое сообщение с серверов Telegram. Для этого при запуске бота обязательно нужно поставить аргумент skip_updates в значение False. Это спасет от проблем при обработке платежей.

Теперь можно запустить код и проверить, работает ли бот. Убедившись, что все хорошо, приступаем к подключению платежей.

Возвращаемся к BotFather’у, даем команду /mybots и выбираем из списка своего бота.

В открывшемся меню кликаем на кнопку «Payments». Из предоставленного списка выбираем нужный платежный шлюз. В качестве теста используем PayMaster. Чтобы подключить оплату в Telegram-бота, сначала нужно выполнить тест, поэтому выбираем «PayMaster Test».

Следуем простым инструкциям бота платежной системы и получаем тестовый токен PayMaster. Его сразу же можно сохранить в config.py.

TOKEN = «5432877141:AAHEwBEb2mwnZX56oaHM10o33ZBZwVkvv-s» PAYMENTS_TOKEN = «1744374395:TEST:f14d9f0d42528b780370»

Возвращаемся к коду бота. Для того, чтобы запросить оплату товаров/услуг, нужно сгенерировать invoice с деталями платежа. Отправить его клиенту и обработать результат.

Подключаем оплату

Указываем список доступных цен на продукты. В качестве цены нужно передать целочисленное значение в минимально возможных единицах валюты. Если речь идет о рублях, то стоимость нужно указывать в копейках. То есть место 500 рублей мы тут укажем 500 * 100 или же 50 000 копеек. В случае с долларами будет почти также, $1=100 центов.

Если предполагается работа с другими валютами, можно использовать currencies.json от Telegram API.

Дальше в коде бота платежной системы мы создаем обработчик команды /buy. Команда будет генерировать и отправлять пользователю invoice платежа. В примере используется оплата месячной подписки.

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

Сам процесс генерации invoice довольно простой. Не стоит беспокоиться большому количеству аргументов. Это названия продуктов или услуг, описания, цена, валюта и т.п.

Настройки платежей

Обратите внимание на аргумент is_flexible. Его нужно указывать в значение True только в том случае, если финальная стоимость зависит от выбранного способа доставки, если речь идет о продаже какого-то физического продукта.

О других параметрах метода send_invoice вы всегда можете прочитать в официальной документации Telegram API.

Теперь нужно создать еще два обработчика: Pre Checkout Query и Successful Payment.

Pre Checkout Query отвечает за обработку и утверждение платежа перед тем, как пользователь его совершит. Так можно проверить доступность товара на складе или уточнить стоимость.

Важно, что серверам Telegram ответ нужен в течение 10 секунд. Если его не будет, платеж не пройдет.

Successful Payment отвечает за обработку успешно проведенного платежа.

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

Как бот работает на практике

Получив invoice на оплату от бота, нажимаем «Оплатить». Поскольку сначала мы проводим тестирование бота, воспользуемся специальной тестовой картой.

Вводим данные и оплачиваем подписку — все работает. При переходе на боевой проект важно не забыть выбрать правильный счет.

Теперь возвращаемся в BotFather, чтобы получить реальный токен от выбранного платежного шлюза. Если есть запрос на разные тарифы или способы оплаты, лучше запросить сразу 2-3 токена от разных платежных шлюзов. Далее нужно будет генерировать invoice с помощью токена выбранного провайдера.

Перенос бота на боевой сервер

Чтобы бот работал 24/7 вне зависимости от того, включен компьютер или нет, зальем его на реальный сервер.

Для этого воспользуемся облачным сервером линейки Shared Line от Selectel. Калькулятор панели управления позволяет выбрать гибкую конфигурацию сервера и сразу узнать, сколько будет стоить решение. Все продукты и услуги собраны у провайдера в одном месте, поэтому ими легко управлять. Арендовать сервер можно от 10 ₽/день, а в консоли есть возможность быстро масштабировать вычислительные ресурсы при необходимости.

Регистрируемся и входим в панель управления my.selectel.ru. Переходим в раздел «Облачная платформа» и выбираем «Серверы». Создаем сервер — после этого шага он загорится в списке как «ACTIVE».

Настраиваем конфигурацию. Для примера используем 1 ядро, 512 МБ DDR4 и 5 ГБ на диске.

Теперь переходим к выгрузке бота на боевой сервер. Сначала нужно подключиться к серверу через SSH. Для этого мы можем воспользоваться программой WinSCP для Windows. В Linux и MAC для этого есть свои встроенные инструменты.

Запускаем WinSCP. В качестве имени хоста указываем IP адрес нашего нового сервера. Логин и пароль можно взять во вкладке «Консоль» в панели управления.

Теперь перенесем сюда файлы нашего бота: config.py и main.py. Далее открываем отдельное соединение с сервером по SSH в консоли.

Для этого в WinSCP нажать кнопку и открыть PuTTY. Можно также воспользоваться командной строкой, принципиальной разницы нет.

Настройка бота с Payments 2.0

Подключившись к серверу, нужно выполнить ряд простых действий.

  • Обновить Python до версии 3.10.
  • Установить PIP.
  • Поставить библиотеку Aiogram.

Если оставить все в таком виде, то при закрытии SSH-соединения вместе с ним закроется и процесс бота. Что делать?

Еще по теме:  Геочат не отображается в Телеграмме

Есть несколько способов, как решить этот вопрос. Рассмотрим самый простой – использование команды screen.

Пишем команду screen и жмем Enter. Запускаем бота из обычного терминала и закрываем соединение.

Бот продолжит работу. Чтобы в любой момент вернуться к этому экрану, достаточно ввести команду screen -r $screen_running. На этом деплой в облаке Selectel закончен.

Заключение

Описанная схема запуска Telegram-бота не предел того, как можно настроить прием платежей. К боту всегда можно добавить дополнительные возможности: запрашивать адрес доставки или менять цену в зависимости от адреса.

Идеальное решение для pet-проектов

Сервер для решения задач, которые не требуют полной загрузки vCPU.

Зарегистрируйтесь в панели управления

И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.

Инструкция

Как автоматизировать подготовку к собеседованиям с помощью Telegram-бота

29 сентября 2023

Инструкция

Как реализовать очередь в Redis

14 сентября 2023

Инструкция

Как генерировать истории с помощью ChatGPT и Telegram

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

Как поставить аватарку боту в Telegram, задать команды, сделать описание и стартовое сообщение? Полный гайд

В этой статье мы доступно объясним, как украсить бота Telegram. Если вы создали бота, то самое время разобраться, как добавить аватарку, описание, команды и стартовое сообщение.

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

Выбрать добавленного бота и кликнуть по никнейму в кнопке

Далее кликнуть по кнопке Edit bot

После этого вы увидите список настроек

Name : Название бота

Description : ?

Botpic : ? no botpic

Commands : no commands yet

Что обозначают настройки бота?

Name — имя бота. Можно изменять. Чтобы это сделать, нужно нажать на кнопку Edit Name, ввести новое имя бота и отправить актуальное название. Название возможно изменять неограниченное количество раз.

Description — описание бота. Это описание появляется до старта бота. Чтобы установить его, нужно нажать на кнопку Edit Description ввести новое описание бота и отправить актуальный текст. Этот текст ограничен 512 символами.

About — описание бота №2. Это описание появляется в описании бота, если кликнкуть по названию бота. Чтобы установить его, нужно нажать на кнопку Edit About, вводим новое описание бота и отправляем актуальный текст. Текст ограничен 120 символами.

Botpic — это фотография бота. Чтобы установить ее, нужно нажать на кнопку Edit Botpic, отправляем новую фотографию боту и она автоматически изменяется. Вес картинки не должен превышать 5 Мб.

Commands — команды бота (меню). Команды добавляются списком. Обязательно указание описание на нужном языке и английский аналог. Пример: меню — menu, о нас — about us и т.д. Сколько необходимо команд, столько и добавляем.

Чтобы установить команды нужно нажать на кнопку Edit Commands, ввести новые команды бота и отправляем актуальные команды.

Надеюсь мы поделились с вами полезной информацией. Если остались вопросы, то записывайтесь на консультацию. Ответим на все интересующие вопросы

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

Как пользоваться ботами в Телеграмм

Мессенджер набирает свою популярность, в том числе и за счет использования дополнительных сервисных программ-роботов. Они существенно расширяют возможности Телеграмм и позволяют пользователям не только общаться, но и автоматически получать нужную информацию из сети, в том числе и по расписанию. Как пользоваться ботами в Телеграмме, чтобы облегчит работу в приложении?

Еще по теме:  Найти ТГ исходя из ВК

Для чего нужны боты

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

  1. Развлечения. Игры, музыка, книги – всем можно пользоваться в автоматическом режиме.
  2. Поиск информации. Многие программы осуществляют серфинг вместо пользователя, анализируют полученные результаты и отсеивают ненужное. Например, вы можете ввести название автора и получить возможность доступа ко всем его книгам с одного ресурса – Телеграмм.
  3. Продажи. В мессенджере присутствует даже Али Экспресс. Вы можете заказать, оплатить и купить товары в несколько кликов, без поиска и временных затрат.
  4. Информационные. Пользуйтесь каналами по интересам и получайте актуальную информацию в одном окне.
  5. Услуги. Сюда относится погода, курсы валют и многое другое. Программа автоматически определяет ваше местоположение и выдает результат именно для вашей местности. Очень удобно пользоваться для получения сводки погоды по утрам, например.
  6. Криптовалюты. Помимо информации о курсах и проектах, ими можно пользоваться, чтобы купить или продать биткоины и другую валюту.

Как видите, возможности ботов очень велики и зависят от его разработчика и цели создания.

Как работает бот в Телеграмм

Для разработки программ для Телеграмм предназначено Telegram Bot API – набор объектов и команд, который понимает мессенджер. Зная такие языки программирования как Python или PHP, C++ или C#, вы можете легко создать собственного робота и пользоваться им в Телеграмм.

В работу бота входит следующее: задаем Алгоритм, по которому будет функционировать программа, подключаем приложение и радуемся. Далее робот работает так: постоянно отправляет запросы в мессенджер, руководствуясь токеном (ее уникальным идентификатором) и ID чата с конкретным пользователем. Как только посетитель проявит активность и начнет общаться с ботом, набрав заданную команду или нажав кнопку, алгоритм начинает свою работу.

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

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

Установка программы с точки зрения посетителя очень проста. Чтобы начать пользоваться:

  1. Нажмите значок поиска в правом верхнем углу и введите название.
  2. Щелкните по нужному из найденных и нажмите «старт» или «Start».

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

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

Если вы не знаете, как пользоваться роботом, наберите в чате с ним /help . Это подсказка. Любой грамотный разработчик, планирующий активно использовать и развивать свой продукт заполнит этот раздел описанием и командами.

Также стандартной командой является /settings – настройки. Как пользоваться ботами в Телеграмм? Просто вводите команды или сообщения и программа будет вам отвечать по заложенному в нее алгоритму.

Список интересных и полезных ботов в Телеграмм

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