Skip to content

khkhkhcj/SRPbot

Repository files navigation

🎰 Dealer Shift Bot

Telegram-бот для записи дилеров на смены.


⚡ Быстрый старт

1. Установи зависимости

pip install -r requirements.txt

2. Создай бота

  1. Напиши @BotFather в Telegram
  2. Отправь /newbot и следуй инструкциям
  3. Скопируй токен бота

3. Узнай свой Telegram ID

Напиши @userinfobot — он пришлёт твой ID

4. Узнай ID группового чата

  1. Добавь бота в групповой чат
  2. Напиши в чате любое сообщение
  3. Открой в браузере: https://api.telegram.org/bot<ТВОЙ_ТОКЕН>/getUpdates
  4. Найди "chat":{"id": -XXXXXXXXX} — это и есть GROUP_CHAT_ID (отрицательное число!)

5. Настрой переменные окружения

export BOT_TOKEN="1234567890:ABCdef..."
export GROUP_CHAT_ID="-1001234567890"
export ADMIN_IDS="123456789"   # твой Telegram ID (можно несколько через запятую)

Или создай файл .env и используй python-dotenv.

6. Запусти бота

python main.py

📁 Структура проекта

dealer_bot/
├── main.py                 # Точка входа
├── config.py               # Настройки (токен, ID чата и т.д.)
├── requirements.txt
├── database/
│   └── db.py               # База данных SQLite
├── handlers/
│   ├── start.py            # Команда /start, главное меню
│   ├── schedule.py         # Запись/отмена смен
│   ├── admin.py            # Панель администратора
│   └── stats.py            # Статистика
├── keyboards/
│   └── kb.py               # Все клавиатуры
└── utils/
    └── scheduler.py        # Планировщик рассылки

🎛️ Функции

Для дилеров:

  • 📅 Моё расписание — посмотреть и изменить свои записи на 7 дней
  • 👥 Кто работает сегодня — список записавшихся на сегодня
  • 📊 Моя статистика — сколько смен в этом месяце

Для администратора (дополнительно):

  • 📊 Статистика всех — топ по сменам за месяц
  • ⚙️ Настройки рассылки — время, вкл/выкл
  • 📆 Управление днями — закрыть/открыть запись, изменить лимит
  • 👤 Управление дилерами — добавить/удалить, список

⏰ Время рассылки

Время указывается в UTC. Примеры пересчёта:

  • Москва (UTC+3): хочешь 8:00 МСК → ставь 5:00 UTC
  • Амстердам (UTC+2 летом): хочешь 9:00 → ставь 7:00 UTC

🚀 Деплой на сервер

Railway (бесплатно):

  1. Залей код на GitHub
  2. Зайди на railway.app
  3. New Project → Deploy from GitHub
  4. Добавь переменные окружения в Settings → Variables

VPS (Hetzner, DigitalOcean и т.д.):

# Запуск в фоне через screen
screen -S dealer_bot
python main.py
# Ctrl+A, D — отсоединиться

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages