Обновил README под локальный автоустановщик

Этот коммит содержится в:
Виктор
2026-05-18 09:09:39 +09:00
родитель 061247a9c3
Коммит d1ccb81092
+87 -19
Просмотреть файл
@@ -2,17 +2,18 @@
BotShop — стартовый каркас мультибот-магазина для Telegram с веб-админкой. BotShop — стартовый каркас мультибот-магазина для Telegram с веб-админкой.
## Что уже заложено в v0.1.0 ## Что заложено
- подключение нескольких Telegram-ботов через токен; - подключение нескольких Telegram-ботов через токен;
- один webhook endpoint для всех ботов: `/webhook/{secret}`; - локальный режим без домена через Telegram polling;
- выбор города, района, товара и варианта товара в Telegram; - webhook-режим для сервера с HTTPS-доменом;
- выбор города, района, товара и варианта в Telegram;
- создание заказа без отправки чека; - создание заказа без отправки чека;
- выдача реквизитов и уникальной суммы `цена + случайная добавка`; - выдача реквизитов и уникальной суммы `цена + случайная добавка`;
- ручное подтверждение/отклонение оплаты в админ-панели; - ручное подтверждение/отклонение оплаты в админ-панели;
- управление городами, районами, товарами, вариантами и реквизитами; - управление городами, районами, товарами, вариантами и реквизитами;
- базовые логи входящих Telegram-событий и ошибок; - базовые логи входящих Telegram-событий и ошибок;
- простой installer `/install`. - автоустановщик `install.sh`.
## Важно ## Важно
@@ -20,26 +21,93 @@ BotShop — стартовый каркас мультибот-магазина
## Требования ## Требования
- PHP 8.1+ - Ubuntu/Debian сервер или локальная VM;
- MySQL 5.7+/8+ - PHP 8.1+;
- HTTPS-домен для Telegram webhook - MySQL 5.7+/8+;
- Apache/Nginx с rewrite на `public/index.php` - Nginx;
- доступ в интернет для Telegram Bot API.
## Быстрый запуск ## Локальная установка без домена
1. Залейте проект на сервер. Самый простой вариант:
2. Направьте web-root домена на папку `public`.
3. Создайте MySQL-базу и пользователя. ```bash
4. Откройте `/install`. sudo apt update
5. Укажите доступы к базе и создайте администратора. sudo apt install -y git curl
6. Войдите в `/login`. cd /root
7. Добавьте Telegram-бота в разделе «Боты». git clone https://github.com/viktor138irk/bot.git botshop-installer
8. Нажмите «Установить webhook». 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 ```text
public/index.php # основной роутер и приложение v0.1.0 install.sh # автоустановщик
public/index.php # веб-панель и webhook endpoint
scripts/polling.php # локальный Telegram polling worker
database/schema.sql # схема базы database/schema.sql # схема базы
storage/config.php # создаётся installer'ом, не хранится в git storage/config.php # создаётся installer'ом, не хранится в git
storage/logs/ # логи storage/logs/ # логи
@@ -47,4 +115,4 @@ storage/logs/ # логи
## Версия ## Версия
`0.1.0` `0.1.1`