Добавлены Telegram-боты (клиентский + админский)

- Клиентский бот: принимает ссылку на chess-results.com,
  проверяет наличие результатов/жеребьёвки, считает пары
  следующего тура, выводит в HTML-формате
- Админский бот: /stat — уникальные пользователи,
  всего запросов, запросов за сегодня
- Статистика через SQLite (volume bot-data)
- Оба бота в docker-compose с автоперезапуском
- .env.example с тестовыми токенами
- .env в .gitignore
This commit is contained in:
Roman Vrubel 2026-06-14 20:39:19 +00:00
parent bbbfe61094
commit 5c4b2536e7
9 changed files with 415 additions and 14 deletions

View file

@ -2,27 +2,21 @@ FROM python:3.11-slim
WORKDIR /app
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
&& rm -rf /var/lib/apt/lists/*
# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy bbpPairings binary (FIDE Swiss engine)
COPY bbpPairings.exe /usr/local/bin/bbpPairings.exe
RUN chmod +x /usr/local/bin/bbpPairings.exe
# Set path for bbpPairings wrapper
ENV BBP_PATH=/usr/local/bin/bbpPairings.exe
# Copy application code
COPY swiss_calc/ /app/swiss_calc/
COPY bots/ /app/bots/
# Create entry point
RUN python3 -c "from swiss_calc import parser; print('✅ Module loaded')"
RUN mkdir -p /app/data
ENTRYPOINT ["python3", "-m", "swiss_calc"]
CMD ["--help"]
RUN python3 -c "from swiss_calc import parser; print('Module loaded')"