๐Ÿšจ Alert Call - ืฉื™ืจื•ืช ื”ืชืจืขื” ื˜ืœืคื•ื ื™ืช ืžืคื™ืงื•ื“ ื”ืขื•ืจืฃ

March 22, 2026 ยท View on GitHub

ืฉื™ืจื•ืช ืฉืžืื–ื™ืŸ ืœื”ืชืจืขื•ืช ืคื™ืงื•ื“ ื”ืขื•ืจืฃ ื‘ื–ืžืŸ ืืžืช ื•ืžืชืงืฉืจ ืืœื™ืš ืœื˜ืœืคื•ืŸ ื›ืฉื™ืฉ ื”ืชืจืขื” ืขืœ ื™ืจื™ ืจืงื˜ื•ืช.

๐Ÿ—๏ธ ืื™ืš ื–ื” ืขื•ื‘ื“

  1. ืžืื–ื™ืŸ - ื”ืฉื™ืจื•ืช ื‘ื•ื“ืง ื›ืœ 2 ืฉื ื™ื•ืช ืืช ื”-API ืฉืœ ืคื™ืงื•ื“ ื”ืขื•ืจืฃ (real-time + history fallback)
  2. ืžื–ื”ื” - ื›ืฉืžื–ื•ื”ื” ื”ืชืจืขื” ื—ื“ืฉื”, ื”ืฉื™ืจื•ืช ืžืกื ืŸ ืœืคื™ ื”ืื–ื•ืจื™ื ืฉื”ื’ื“ืจืช
  3. ืžืชืงืฉืจ - ืžื‘ืฆืข ืฉื™ื—ื” ื˜ืœืคื•ื ื™ืช ื“ืจืš Twilio
  4. ืžืฉืžื™ืข - ื›ืฉืขื•ื ื™ื ืœืฉื™ื—ื”, ืžื•ืฉืžืขืช ื”ื•ื“ืขื” ืงื•ืœื™ืช ื‘ืขื‘ืจื™ืช ืขื ืฉื ื”ืื–ื•ืจ

๐Ÿ“‹ ื“ืจื™ืฉื•ืช ืžืงื“ื™ืžื•ืช

1. ื—ืฉื‘ื•ืŸ Twilio

  1. ื”ื™ืจืฉื ื‘-Twilio
  2. ืงื‘ืœ Account SID ื•-Auth Token ืž-Console
  3. ืงื ื”/ืงื‘ืœ ืžืกืคืจ ื˜ืœืคื•ืŸ ืขื ื™ื›ื•ืœืช ืฉื™ื—ื•ืช ื™ื•ืฆืื•ืช

2. Python 3.11+

๐Ÿš€ ื”ืชืงื ื”

# 1. ืฉื›ืคื•ืœ ื”ืคืจื•ื™ืงื˜
git clone https://github.com/YOUR_USERNAME/alert_call.git
cd alert_call

# 2. ื™ืฆื™ืจืช ืกื‘ื™ื‘ื” ื•ื™ืจื˜ื•ืืœื™ืช
python -m venv venv
venv\Scripts\activate  # Windows
# source venv/bin/activate  # Linux/Mac

# 3. ื”ืชืงื ืช ืชืœื•ื™ื•ืช
pip install -r requirements.txt

# 4. ื”ื’ื“ืจืช ืงื•ื‘ืฅ ื”ื’ื“ืจื•ืช
copy .env.example .env   # Windows
# cp .env.example .env   # Linux/Mac
# ืขืจื•ืš ืืช ืงื•ื‘ืฅ .env ืขื ื”ืคืจื˜ื™ื ืฉืœืš

โš™๏ธ ื”ื’ื“ืจื•ืช

ืขืจื•ืš ืืช ืงื•ื‘ืฅ .env:

ืžืฉืชื ื”ืชื™ืื•ืจื“ื•ื’ืžื”
TWILIO_ACCOUNT_SIDAccount SID ืž-TwilioACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKENAuth Token ืž-Twilioxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_PHONE_NUMBERืžืกืคืจ Twilio ืฉืœืš+12345678900
MY_PHONE_NUMBERืžืกืคืจ ื”ื˜ืœืคื•ืŸ ืฉืœืš+972501234567
MONITORED_AREASืื–ื•ืจื™ื ืœื ื™ื˜ื•ืจ (ืจื™ืง = ื”ื›ืœ)ืชืœ ืื‘ื™ื‘,ืจืžืช ื’ืŸ
POLL_INTERVAL_SECONDSืชื“ื™ืจื•ืช ื‘ื“ื™ืงื” (ืฉื ื™ื•ืช)2
ALERT_COOLDOWN_SECONDSื–ืžืŸ ืžื™ื ื™ืžืœื™ ื‘ื™ืŸ ืฉื™ื—ื•ืช60

โ–ถ๏ธ ื”ืคืขืœื”

ื”ืคืขืœื” ืžืงื•ืžื™ืช

python main.py

ื‘ื“ื™ืงืช ืฉื™ื—ื”

python test_call.py

ืคืจื™ืกื” ืœ-Azure (24/7)

โš ๏ธ ื”-API ืฉืœ ืคื™ืงื•ื“ ื”ืขื•ืจืฃ ื ื’ื™ืฉ ืจืง ืž-IP ื™ืฉืจืืœื™. ื™ืฉ ืœืคืจื•ืก ื‘ืื–ื•ืจ israelcentral.

# 1. ื”ืชื—ื‘ืจ ืœ-Azure
az login

# 2. ืขืจื•ืš ืืช deploy-azure.ps1 ืขื ื”ืคืจื˜ื™ื ืฉืœืš

# 3. ื”ืจืฅ ืืช ืกืงืจื™ืคื˜ ื”ืคืจื™ืกื”
.\deploy-azure.ps1

๐Ÿ—๏ธ ืžื‘ื ื” ื”ืคืจื•ื™ืงื˜

alert_call/
โ”œโ”€โ”€ main.py              # ื ืงื•ื“ืช ื›ื ื™ืกื” - ื”ืœื•ืœืื” ื”ืจืืฉื™ืช
โ”œโ”€โ”€ oref_monitor.py      # ืžื•ื“ื•ืœ ื ื™ื˜ื•ืจ ื”ืชืจืขื•ืช (real-time + history fallback)
โ”œโ”€โ”€ phone_caller.py      # ืžื•ื“ื•ืœ ืฉื™ื—ื•ืช ื˜ืœืคื•ืŸ (Twilio)
โ”œโ”€โ”€ config.py            # ื”ื’ื“ืจื•ืช ื•ืžืฉืชื ื™ ืกื‘ื™ื‘ื”
โ”œโ”€โ”€ requirements.txt     # ืชืœื•ื™ื•ืช Python
โ”œโ”€โ”€ Dockerfile           # ื‘ื ื™ื™ืช Docker image
โ”œโ”€โ”€ deploy-azure.ps1     # ืกืงืจื™ืคื˜ ืคืจื™ืกื” ืœ-Azure Container Instance
โ”œโ”€โ”€ test_call.py         # ื‘ื“ื™ืงืช ืฉื™ื—ื”
โ”œโ”€โ”€ show_alerts.py       # ื”ืฆื’ืช ื”ืชืจืขื•ืช ื”ื™ื•ื
โ”œโ”€โ”€ .env.example         # ืชื‘ื ื™ืช ืœื”ื’ื“ืจื•ืช
โ”œโ”€โ”€ .env                 # ื”ื’ื“ืจื•ืช ืื™ืฉื™ื•ืช (ืœื ื‘-git)
โ””โ”€โ”€ .gitignore

๐Ÿ’ฐ ืขืœื•ื™ื•ืช

  • Twilio: ~$0.014 ืœื“ืงืช ืฉื™ื—ื” + ~$1/ื—ื•ื“ืฉ ืœืžืกืคืจ ื˜ืœืคื•ืŸ
  • Azure Container Instance (ืื•ืคืฆื™ื•ื ืœื™): ~$0.25 CPU + ~$0.003/GB/ืฉืขื” โ‰ˆ ื›ืžื” ื“ื•ืœืจื™ื ื‘ื—ื•ื“ืฉ
  • ืกื”"ื›: ื›ืžื” ื“ื•ืœืจื™ื ื‘ื•ื“ื“ื™ื ื‘ื—ื•ื“ืฉ ืขื ืฉื™ืžื•ืฉ ืจื’ื™ืœ

โš ๏ธ ื”ืขืจื•ืช ื—ืฉื•ื‘ื•ืช

  • IP ื™ืฉืจืืœื™: ื”-API ืฉืœ ืคื™ืงื•ื“ ื”ืขื•ืจืฃ ื—ื•ืกื ื’ื™ืฉื” ืž-IP ืฉืื™ื ื• ื™ืฉืจืืœื™ (403). ืื ืืชื” ืžืจื™ืฅ ื‘ืขื ืŸ, ื”ืฉืชืžืฉ ื‘ืื–ื•ืจ israelcentral
  • BOM Response: ื”-API ืžื—ื–ื™ืจ BOM (Byte Order Mark) ื›ืฉืื™ืŸ ื”ืชืจืขื•ืช - ื”ืฉื™ืจื•ืช ืžื˜ืคืœ ื‘ื–ื”
  • History Fallback: ื‘ื ื•ืกืฃ ืœ-real-time API, ื”ืฉื™ืจื•ืช ื‘ื•ื“ืง ื’ื ืืช ื”-History API ื›ืœ 30 ืฉื ื™ื•ืช ื›ื’ื™ื‘ื•ื™
  • ืืžื™ื ื•ืช: ื”ืฉื™ืจื•ืช ืชืœื•ื™ ื‘ื–ืžื™ื ื•ืช ื”-API ืฉืœ ืคื™ืงื•ื“ ื”ืขื•ืจืฃ ื•ื‘ื—ื™ื‘ื•ืจ ืื™ื ื˜ืจื ื˜
  • ืœื ืชื—ืœื™ืฃ: ืฉื™ืจื•ืช ื–ื” ืื™ื ื• ืชื—ืœื™ืฃ ืœืืคืœื™ืงืฆื™ื™ืช ืคื™ืงื•ื“ ื”ืขื•ืจืฃ ื”ืจืฉืžื™ืช!