إرسال التنبيهات والإشعارات
اجعل الروبوتات المنشورة قابلة للتنفيذ بإرسال التنبيهات عبر البريد الإلكتروني وSlack وwebhooks عند العثور على شيء أو حدوث فشل.
إرسال التنبيهات والإشعارات درس مجاني في Web Scraping & Bots على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Web Scraping & Bots، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Web Scraping & Bots 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
From Data to Action
A deployed bot that quietly stores data is only half useful. The real value comes when it notifies you: a price dropped, a keyword appeared, or the bot itself broke.
This lesson covers wiring bots to notification channels.
Choosing a Channel
Pick the channel that fits urgency:
- Email for digests and non-urgent reports.
- Slack/Discord for team-visible real-time alerts.
- Push/SMS for urgent, must-see events.
Sending Email
Python's smtplib sends email through any SMTP server. Build the message, connect securely, and send.
import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg['Subject'] = 'Price Alert'
msg['From'] = 'bot@example.com'
msg['To'] = 'me@example.com'
msg.set_content('Widget dropped to $7.99')
with smtplib.SMTP_SSL('smtp.example.com', 465) as s:
s.login('bot@example.com', 'password')
s.send_message(msg)Slack via Webhook
Slack incoming webhooks accept a simple JSON POST. No SDK required, just a URL you keep secret.
import requests
requests.post(
'https://hooks.slack.com/services/XXX/YYY/ZZZ',
json={'text': 'Price dropped to $7.99 :tada:'}
)Rich Messages
Most chat webhooks support structured blocks: titles, links, and fields. A well-formatted alert is faster to act on than a wall of text.
payload = {
'blocks': [
{'type': 'section', 'text': {'type': 'mrkdwn', 'text': '*Price Alert*\nWidget: $7.99'}}
]
}
requests.post(webhook_url, json=payload)Generic Webhooks
Webhooks let your bot trigger anything: a Zapier flow, a custom server, or another service. Send a JSON payload and let the receiver decide what to do.
requests.post('https://my-endpoint.example/hook',
json={'event': 'price_drop', 'price': 7.99})Alerting Only on Change
Do not notify on every run. Compare against the last known state and alert only when something meaningful changes, to avoid notification fatigue.
if new_price < last_price:
send_alert('price dropped to ' + str(new_price))
last_price = new_priceThrottling and Deduplication
Suppress repeat alerts for the same event within a window. Track recently-sent keys so a flapping condition does not spam you.
import time
last_sent = {}
def alert_once(key, msg, cooldown=3600):
now = time.time()
if now - last_sent.get(key, 0) > cooldown:
send_alert(msg)
last_sent[key] = nowAlerting on Bot Failure
Notify yourself when the bot itself breaks, not just on data events. Wrap the run and send an alert from the except block so silent crashes never go unnoticed.
try:
run_bot()
except Exception as e:
send_alert('Bot crashed: ' + str(e))
raiseKeeping Secrets Safe
Webhook URLs, SMTP passwords, and API tokens are credentials. Store them in environment variables or a secrets manager, never hard-coded in the repository.
import os
webhook = os.environ['SLACK_WEBHOOK_URL']Confirming Delivery
A notification call can silently fail. Check the response status and log it, so a broken webhook does not leave you unaware that alerts stopped arriving.
resp = requests.post(webhook, json=payload)
if not resp.ok:
log.error('alert delivery failed: %s', resp.status_code)Quick Check
Test your understanding of notifications.
Recap
You learned to make deployed bots actionable: choose a channel, send email via smtplib, post to Slack and generic webhooks, format rich messages, alert only on change, throttle duplicates, notify on bot failure, and keep credentials in environment variables.
الأسئلة الشائعة
هل درس «إرسال التنبيهات والإشعارات» مجاني؟
نعم — نص درس «إرسال التنبيهات والإشعارات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Web Scraping & Bots، انتقل إلى CoddyKit PRO. تتضمن دورة Web Scraping & Bots 4 دروس في المجموع.
ماذا ستتعلم في «إرسال التنبيهات والإشعارات»؟
اجعل الروبوتات المنشورة قابلة للتنفيذ بإرسال التنبيهات عبر البريد الإلكتروني وSlack وwebhooks عند العثور على شيء أو حدوث فشل. تتمرن على Web Scraping & Bots مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Web Scraping & Bots؟
لا تُشترط خبرة سابقة. Web Scraping & Bots على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «إرسال التنبيهات والإشعارات»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Web Scraping & Bots هذا؟
نعم. كل درس في Web Scraping & Bots يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إنشاء روبوت لتتبّع الأسعار
- إنشاء أداة لمراقبة وسائل التواصل الاجتماعي
- نشر الروبوتات على المنصات السحابية
- إرسال التنبيهات والإشعارات