Кейс бот Telegram — Маркетплейс (Бот автопродаж)
Сегодня я расскажу вам о работе чат-бота Telegram «Marketplace», который позволяет продавцам размещает свои товары в одном боте. Если ваша организация занимается оптовой торговлей и вы решили начать интернет-продажи оптовым клиентам, этот бот будет вам крайне полезен и необходим, так как бот заточен на крупных поставщиков, например оптовых партий товаров из Китая. Образно говоря, владелец ботом будет являться владельцем магазина, а продавец — владельцем отдела/прилавка.
Управление ботом, размещение товаров, формирование каталога происходим из самого бота, для этого нет необходимости заходить в панель управления, что очень удобно.
Как работает бот? После того вы, как продавец, договорились с владельцем чат-бота отчислять определенную сумму вознаграждения, например ежемесячно, вы получаете возможность полностью настраивать свой магазин, создавать структуру категорий папок, каталог товаров . Как говорилось выше, у продавца нет никакой надобности заходить в панель администратора, владелец бота не выдает никому доступ в панель администратора, все настройки осуществляются в самом боте через личный кабинет. В свою очередь продавец после настройки своего «прилавка» имеет возможность разослать своим потенциальным клиентам индивидуальную ссылку, пройдя по которой люди попадают в конкретный отдел/прилавок магазина с определенным ассортиментом товаров.
Какие настройки доступны продавцу:
- Редактирование, добавление, удаление товаров или категорий товаров;
- Редактирование диапазона цен товара за упаковку и количество упаковок, то есть применение системы лояльности;
- Изменение приоритета расположения товаров относительно друг друга в списке;
- Возможность загрузить фото товаров;
- Редактирование, добавление, удаление способов платежей и реквизитов для оплаты;
- Настройка системы предоплаты за покупку.
Чтобы не пропустить заказы, которые оставили покупатели, их можно посмотреть в разделе «заказы». Здесь отображается общая статистика всех заказов, сколько оплачено, сколько ожидают подтверждения, отправки и так далее. Статистику заказов можно формировать по диапазону дат, ФИО, по сумме заказа, можно выбрать конкретный заказ и посмотреть чек предоплаты, товарно-транспортной накладной, то есть всю информацию о заказе.
В панели управления владелец ботом имеет возможность:
- видеть все категории товаров, которые есть в боте, их наличие, стоимость за единицу, диапазоны цен и т.д.;
- видеть все заказы, в каком статусе они находятся, способы оплаты и т.д.;
- добавить автоматические ответы;
- просмотреть истории рассылок, которые производились продавцами;
- дополнительный заработок — это возможность добавлять рассылки сообщений по всей базе бота, прикреплять фотографии или прайс всех товаров, которые есть в магазине и отправлять всем пользователям бота;
- настройка всех кнопок и редактирование текстов страниц;
- управление пользователями;
- полностью настроить все остальные основные системные настройки.
Вот такой интересный и полезный чат-бот я могу для вас разработать.
СОЗДАЙТЕ СВОЕГО ТЕЛЕГРАММ БОТА ДЛЯ ПРОДАЖИ ЦИФРОВЫХ ТОВАРОВ ЗА НЕСКОЛЬКО МИНУТ
Создайте бота в телеграмме и опробуйте все функции сервиса бесплатно. Покупать платную подписку не обязательно!
Сколько стоит разработка телеграмм бота?
Конструктор ботов и созданные в нем боты работают в телеграм бесплатно, но мы публикуем ссылку на проект. Если вы не хотите размещать нашу ссылку на проект, с ценами и тарифами на разработку бота вы можете ознакомиться ниже:
Бот автопродаж телеграмм как установить
Фриланс маркетплейс
Пользователей онлайн: 3036
Последний заказ: 1 сек. назад
Логотип и брендинг
Презентации и инфографика
Арт и иллюстрации
Веб и мобильный дизайн
Маркетплейсы и соцсети
Интерьер и экстерьер
Обработка и редактирование
Полиграфия
Промышленный дизайн
Наружная реклама
Доработка и настройка сайта
Создание сайтов
Десктоп программирование
Скрипты и боты
Мобильные приложения
Сервера и хостинг
Юзабилити, тесты и помощь
Тексты и наполнение сайта
Набор текста
Продающие и бизнес тексты
Резюме и вакансии
Статистика и аналитика
Соцсети и SMM
Контекстная реклама
Базы данных и клиентов
E-mail рассылки
Маркетплейсы и доски объявлений
Реклама и PR
Аудиозапись и озвучка
Музыка и песни
Редактирование аудио
Интро и анимация логотипа
Видеоролики
Персональный помощник
Бухгалтерия и налоги
Обзвоны и продажи
Юридическая помощь
Продажа сайтов
Подбор персонала
Презентация
Обучение и консалтинг
Стройка и ремонт
Логотип и брендинг
Презентации и инфографика
Арт и иллюстрации
Веб и мобильный дизайн
Маркетплейсы и соцсети
Интерьер и экстерьер
Обработка и редактирование
Полиграфия
Промышленный дизайн
Наружная реклама
Доработка и настройка сайта
Создание сайтов
Десктоп программирование
Скрипты и боты
Мобильные приложения
Сервера и хостинг
Юзабилити, тесты и помощь
Тексты и наполнение сайта
Набор текста
Продающие и бизнес тексты
Резюме и вакансии
Статистика и аналитика
Соцсети и SMM
Контекстная реклама
Базы данных и клиентов
E-mail рассылки
Маркетплейсы и доски объявлений
Реклама и PR
Аудиозапись и озвучка
Музыка и песни
Редактирование аудио
Интро и анимация логотипа
Как подключить платежную систему с Payments к Telegram
Рассказываем, как подключить платежную систему к Telegram-боту и разместить его на сервере.
Эта инструкция — часть курса «Как создавать 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. Это спасет от проблем при обработке платежей.
import config import logging from aiogram import Bot, Dispatcher, executor, types from aiogram.types.message import ContentType # log logging.basicConfig(level=logging.INFO) # init bot = Bot(token=config.TOKEN) dp = Dispatcher(bot) # echo bot @dp.message_handler() async def echo(message; types.Message): await message.answer (message.text) # run long-polling if __name__ == "main": executor.start_polling(dp, 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 платежа. В примере используется оплата месячной подписки.
import config import logging from aiogram import Bot, Dispatcher, executor, types from aiogram.types.message import ContentType # log logging.basicConfig(level=logging.INFO) # init bot = Bot(token=config.TOKEN) dp = Dispatcher(bot) # prices PRICE = types.LabeledPrice(label="Подписка на 1 месяц", amount=500*100) # в копейках (руб) # buy @dp.message_handler(commands=['buy']) async def buy(message: types.Message): if config.PAYMENTS_TOKEN.split(':')[1] == 'TEST': await bot.send_message(message.chat.id, "Тестовый платеж. ") await bot.send_invoice(message.chat.id, title="Подписка на бота", description="Активация подписки на бота на 1 месяц", provider_token=config.PAYMENTS_TOKEN, currency="rub", photo_url="https://www.aroged.com/wp-content/uploads/2022/06/Telegram-has-a-premium-subscription.jpg", photo_width=416, photo_height=234, photo_size=416, is_flexible=False, prices=[PRICE], start_parameter="one-month-subscription", payload="test-invoice-payload")
Сам процесс генерации invoice довольно простой. Не стоит беспокоиться большому количеству аргументов. Это названия продуктов или услуг, описания, цена, валюта и т.п.

Настройки платежей
Обратите внимание на аргумент is_flexible. Его нужно указывать в значение True только в том случае, если финальная стоимость зависит от выбранного способа доставки, если речь идет о продаже какого-то физического продукта.
О других параметрах метода send_invoice вы всегда можете прочитать в официальной документации Telegram API.
Теперь нужно создать еще два обработчика: Pre Checkout Query и Successful Payment.
Pre Checkout Query отвечает за обработку и утверждение платежа перед тем, как пользователь его совершит. Так можно проверить доступность товара на складе или уточнить стоимость.
Важно, что серверам Telegram ответ нужен в течение 10 секунд. Если его не будет, платеж не пройдет.
Successful Payment отвечает за обработку успешно проведенного платежа.
# pre checkout (must be answered in 10 seconds) @dp.pre_checkout_query_handler(lambda query: True) async def pre_checkout_query(pre_checkout_q: types.PreCheckoutQuery): await bot.answer_pre_checkout_query(pre_checkout_q.id, ok=True) # successful payment @dp.message_handler(content_types=ContentType.SUCCESSFUL_PAYMENT) async def successful_payment(message: types.Message): print("SUCCESSFUL PAYMENT:") payment_info = message.successful_payment.to_python() for k, v in payment_info.items(): print(f" = ") await bot.send_message(message.chat.id, f"Платеж на сумму прошел успешно. ") # run long-polling if __name__ == "__main__": executor.start_polling(dp, skip_updates=False)
Тут можно выдать пользователю тот самый месяц подписки, за которую он заплатил или любую другую услугу.
Как бот работает на практике
Получив 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.
