Есть ли у бота в Телеграмме ip

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

Введение

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

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

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

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

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

python -m pip install aiogram

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

Простой телеграм бот на Python | Узнать информацию о пользователе по IP

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

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

Создаем файл 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.

Еще по теме:  Что значит busy в Телеграмме

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

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

Инструкция

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

29 сентября 2023

Инструкция

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

14 сентября 2023

Инструкция

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

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

Telegram-боты в бизнесе: примеры использования

Telegram-боты в бизнесе: примеры использования

У Telegram 200 млн активных пользователей в месяц, 15 млн из них — россияне. Очевидно, что бизнес не должен игнорировать Telegram для связи с клиентами. Как работать с Telegram и чем он может быть реально полезен бизнесу? Что уникального в Telegram-ботах и как с ними работать?

Все хотят его, но что такое Telegram-бот?

На волне тренда ботов на каждом углу при их упоминании мы наблюдали реакцию: «Да! Нам обязательно нужен бот! Хотим! Только мы не знаем зачем. и что он вообще умеет. Но всё равно очень хотим!» После этого разворачивали дискуссию на тему: «Чем бот может помочь бизнесу и нужен ли он вообще?» И так раз за разом. В общем, если вы пока ещё не разобрались, что к чему, давайте разбираться.

A/B-тестирование от Flocktory: быстрый запуск тестов и оптимизация вашего сайта для роста конверсий

A/B-тесты — инструмент продуктового и маркетингового тестирования контента и функциональности сайта с комплексной аналитикой результатов. С помощью этого инструмента вы сможете менять содержимое сайта на основе лучших практик Flocktory и кастомных гипотез, которые мы поможем сформулировать. А также повысить конверсию сайта и сэкономить время продуктовых и технических команд. Тестирование и оптимизация сайта проходят без вовлечения вашей IT-команды, а результаты тестов доступны в личном кабинете в реальном времени. Узнать больше про A/B-тесты →

Реклама. ООО «Флоктори». ИНН 9709082176. ОГРН 1227700349271

«Бот Telegram — это аккаунт Telegram, управляемый программным обеспечением, иногда имеет функции искусственного интеллекта. Боты могут учить, играть, использовать поиск, напоминать, интегрироваться с другими службами или даже передавать команды другим сервисам», — источник. Когда мы говорим о применении ботов в бизнесе, то почти всегда речь об улучшении уровня сервиса компании.

Варианты использования ботов в Telegram

Боты могут совмещать совершенно различные функции. Документация Telegram гласит, что бот может делать «Всё, что вам захочется. Бота можно запрограммировать для чего угодно. Разве что посуду они помыть не смогут». И всё-таки, что они могут?

Боты для общения с клиентами

Для клиента всё выглядит просто: он пишет компании, а специальный бот ему отвечает. А вот отвечать бот может по-разному. а) На другом конце может быть оператор или группа операторов, которые обрабатывают входящие заявки. Это довольно простой способ и легко интегрируемый с CRM. б) На другом конце может быть самообучаемый искусственный интеллект, или не столь сложный обработчик семантики, который наподобие раздела FAQ отвечает на основные вопросы. Если ответа на вопрос нет — происходит подключение живого оператора, который читает чат переписки с ботом и уже решает вопросы. Подобное решение реализовано у онлайн-консультанта оператора связи «Киевстар». Внедрение этого решения позволило снизить стоимость контакта на 58%, увеличив пропускную способность (по данным LiveTex).

Боты-напоминатели

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

Боты на базе веб-сервисов

Сервисы заказа такси, сервисы погоды, сервисы-напоминатели, сервисы отзывов, сервисы с каталогом заведений — могут предоставлять функции в рамках Telegram-бота. Aviasales. Сочетание бота и веб-сервиса Aviasales. Сочетание бота и веб-сервиса Aviasales. Сочетание бота и веб-сервиса Крупные компании пользуются такими возможностями, так как технически всё просто реализовать, осталось только сделать оболочку для бота, который будет обращаться к уже имеющейся базе данных за информацией. Пользователи могут передавать Telegram-боту и свои текущие координаты, чтобы узнать, какие интересные заведения есть поблизости. В случае сервисов-отзывов, типа Flamp.ru или Yell.ru, можно писать отзывы о заведениях через Telegram-бота. Сфера применения таких ботов широчайшая: всё с API может быть представлено в виде бота. Например, API имеет и Почта России, и через бота можно следить за отправлениями. Официальный бот Почты России Официальный бот Почты России

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

Боты для ботов

Футбольный телеграм бот на 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

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