Web Scraping & Bots · Урок

Отправка предупреждений и уведомлений

Сделайте развёрнутых ботов практичными: отправляйте предупреждения по электронной почте, через Slack и вебхуки, когда они что-то находят или завершаются с ошибкой.

Урок 4 из 413 шагов

«Отправка предупреждений и уведомлений» — бесплатный урок 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_price

Throttling 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] = now

Alerting 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))
    raise

Keeping 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.

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
12
Уроки
48

Часто задаваемые вопросы

Урок «Отправка предупреждений и уведомлений» бесплатный?

Да — полный текст урока «Отправка предупреждений и уведомлений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Web Scraping & Bots, подпишись на CoddyKit PRO. Курс Web Scraping & Bots содержит 4 уроков всего.

Чему я научусь в уроке «Отправка предупреждений и уведомлений»?

Сделайте развёрнутых ботов практичными: отправляйте предупреждения по электронной почте, через Slack и вебхуки, когда они что-то находят или завершаются с ошибкой. Ты практикуешь Web Scraping & Bots с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Web Scraping & Bots?

Предыдущий опыт не требуется. Web Scraping & Bots на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Отправка предупреждений и уведомлений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Web Scraping & Bots?

Да. Каждый урок Web Scraping & Bots включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Создание бота для отслеживания цен
  2. Создание монитора социальных сетей
  3. Развёртывание ботов на облачных платформах
  4. Отправка предупреждений и уведомлений
← Назад к Web Scraping & Bots