Telegram-бот для записи дилеров на смены.
pip install -r requirements.txt- Напиши @BotFather в Telegram
- Отправь
/newbotи следуй инструкциям - Скопируй токен бота
Напиши @userinfobot — он пришлёт твой ID
- Добавь бота в групповой чат
- Напиши в чате любое сообщение
- Открой в браузере:
https://api.telegram.org/bot<ТВОЙ_ТОКЕН>/getUpdates - Найди
"chat":{"id": -XXXXXXXXX}— это и есть GROUP_CHAT_ID (отрицательное число!)
export BOT_TOKEN="1234567890:ABCdef..."
export GROUP_CHAT_ID="-1001234567890"
export ADMIN_IDS="123456789" # твой Telegram ID (можно несколько через запятую)Или создай файл .env и используй python-dotenv.
python main.pydealer_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
- Залей код на GitHub
- Зайди на railway.app
- New Project → Deploy from GitHub
- Добавь переменные окружения в Settings → Variables
# Запуск в фоне через screen
screen -S dealer_bot
python main.py
# Ctrl+A, D — отсоединиться