Files
bot/README.md
T

119 строки
3.8 KiB
Markdown

# 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.
## Локальная установка без домена
Самый простой вариант:
```bash
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
```
После установки скрипт покажет:
```text
Админка: http://IP-СЕРВЕРА/login
Email: admin@local.test
Пароль: сгенерированный пароль
```
В локальном режиме домен и SSL не нужны. Telegram работает через polling-сервис:
```bash
systemctl status botshop-polling --no-pager
journalctl -u botshop-polling -f
```
## Установка с собственными данными
```bash
sudo bash install.sh --local \
--admin-email admin@example.local \
--admin-pass 'СЛОЖНЫЙ_ПАРОЛЬ' \
--db-pass 'СЛОЖНЫЙ_ПАРОЛЬ_БД'
```
## После установки
1. Откройте админку: `http://IP-СЕРВЕРА/login`.
2. Войдите под админом.
3. Создайте Telegram-бота через `@BotFather`.
4. В панели откройте «Боты».
5. Добавьте токен.
6. Поставьте статус `active`.
7. В локальном режиме кнопку webhook нажимать не нужно.
8. Добавьте город, район, товар, вариант и реквизиты.
9. Напишите `/start` своему Telegram-боту.
## Обслуживание
Перезапуск polling:
```bash
sudo systemctl restart botshop-polling
```
Логи polling:
```bash
sudo journalctl -u botshop-polling -f
```
Логи Nginx:
```bash
sudo tail -n 100 /var/log/nginx/botshop_error.log
```
Файл локальной конфигурации:
```text
/var/www/botshop/storage/config.php
```
## Структура
```text
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`