feat(bot): add operating hours window configuration and enforcement

Adds HORA_INICIO and HORA_FIM environment variables to define the daily
operating window for order sending. Implements dentro_do_horario() function
to validate if current time falls within the configured range. The bot now
pauses order sending outside the operating window and sends a notification
to the chat, resuming automatically at HORA_INICIO.

Includes DEPLOY.md documentation with Debian 12 deployment instructions
and systemd service configuration for auto-start and auto-restart.
This commit is contained in:
marco
2026-09-04 09:24:47 -03:00
parent c21d105f9b
commit c461a0dba5
3 changed files with 123 additions and 0 deletions
+97
View File
@@ -0,0 +1,97 @@
# Deploy no Debian 12
## 1. Pré-requisitos
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip python3-venv git
```
## 2. Clonar o repositório
```bash
git clone <url-do-repo> /opt/jogo3
cd /opt/jogo3/app
```
## 3. Configurar variáveis de ambiente
```bash
cp .env.example .env
nano .env
```
Preencha:
- `TELEGRAM_TOKEN` — token do BotFather
- `TELEGRAM_CHAT_ID` — seu chat ID (ou grupo)
- `SEXO` — `masculino` ou `feminino`
- `IDADE` — sua idade
- `INTERVALO_MINUTOS` — intervalo entre ordens
- `HORA_INICIO` — horário de início (ex: `08:00`, formato 24h)
- `HORA_FIM` — horário de fim (ex: `22:00`)
- `TIPOS_ORDENS` — lista separada por vírgulas
## 4. Testar manualmente
```bash
chmod +x iniciar.sh
./iniciar.sh
```
Pressione `Ctrl+C` para parar.
## 5. Service systemd (auto-start + auto-restart)
```bash
sudo tee /etc/systemd/system/jogo3.service > /dev/null << 'EOF'
[Unit]
Description=Jogo3 - Sistema Automatico de Ordens Telegram
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/jogo3/app
ExecStart=/opt/jogo3/app/iniciar.sh
Restart=always
RestartSec=10
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=multi-user.target
EOF
```
```bash
sudo systemctl daemon-reload
sudo systemctl enable jogo3
sudo systemctl start jogo3
```
## 6. Comandos úteis
```bash
# Status
sudo systemctl status jogo3
# Logs
sudo journalctl -u jogo3 -f
# Parar
sudo systemctl stop jogo3
# Reiniciar
sudo systemctl restart jogo3
# Desabilitar auto-start
sudo systemctl disable jogo3
```
## 7. Atualizar ordens
Edite `ordens.json`, depois reinicie o service:
```bash
sudo systemctl restart jogo3
```