d1ccb8109291f0ca9805d22432ddd5a1936453e9
BotShop
BotShop — стартовый каркас мультибот-магазина для Telegram с веб-админкой.
Что заложено
- подключение нескольких Telegram-ботов через токен;
- локальный режим без домена через Telegram polling;
- webhook-режим для сервера с HTTPS-доменом;
- выбор города, района, товара и варианта в Telegram;
- создание заказа без отправки чека;
- выдача реквизитов и уникальной суммы
цена + случайная добавка; - ручное подтверждение/отклонение оплаты в админ-панели;
- управление городами, районами, товарами, вариантами и реквизитами;
- базовые логи входящих Telegram-событий и ошибок;
- автоустановщик
install.sh.
Важно
Проект предназначен только для легального магазина товаров и услуг. В коде нет механики тайников, скрытых адресов, автоматической выдачи запрещённых товаров или обхода платёжных правил.
Требования
- Ubuntu/Debian сервер или локальная VM;
- PHP 8.1+;
- MySQL 5.7+/8+;
- Nginx;
- доступ в интернет для Telegram Bot API.
Локальная установка без домена
Самый простой вариант:
sudo apt update
sudo apt install -y git curl
cd /root
git clone https://github.com/viktor138irk/bot.git botshop-installer
cd botshop-installer
sudo bash install.sh --local
После установки скрипт покажет:
Админка: http://IP-СЕРВЕРА/login
Email: admin@local.test
Пароль: сгенерированный пароль
В локальном режиме домен и SSL не нужны. Telegram работает через polling-сервис:
systemctl status botshop-polling --no-pager
journalctl -u botshop-polling -f
Установка с собственными данными
sudo bash install.sh --local \
--admin-email admin@example.local \
--admin-pass 'СЛОЖНЫЙ_ПАРОЛЬ' \
--db-pass 'СЛОЖНЫЙ_ПАРОЛЬ_БД'
После установки
- Откройте админку:
http://IP-СЕРВЕРА/login. - Войдите под админом.
- Создайте Telegram-бота через
@BotFather. - В панели откройте «Боты».
- Добавьте токен.
- Поставьте статус
active. - В локальном режиме кнопку webhook нажимать не нужно.
- Добавьте город, район, товар, вариант и реквизиты.
- Напишите
/startсвоему Telegram-боту.
Обслуживание
Перезапуск polling:
sudo systemctl restart botshop-polling
Логи polling:
sudo journalctl -u botshop-polling -f
Логи Nginx:
sudo tail -n 100 /var/log/nginx/botshop_error.log
Файл локальной конфигурации:
/var/www/botshop/storage/config.php
Структура
install.sh # автоустановщик
public/index.php # веб-панель и webhook endpoint
scripts/polling.php # локальный Telegram polling worker
database/schema.sql # схема базы
storage/config.php # создаётся installer'ом, не хранится в git
storage/logs/ # логи
Версия
0.1.1
Languages
PHP
87.4%
Shell
12.6%