🎄 12 дней DigitalOcean: Проверка дней рождения и отправка SMS-уведомлений 🎁
Добро пожаловать в День 3 12 дней DigitalOcean! За последние два дня мы настроили базу данных PostgreSQL и подключились к ней с помощью Python. Теперь пришло время сделать наш Сервис Напоминания о Днях Рождения действительно полезным — отправлять вам сообщение, когда сегодня чей-то день рождения. 🎂
Мы будем использовать Twilio, сервис, который упрощает отправку SMS-сообщений всего лишь с несколькими строками кода. К концу сегодняшнего дня ваше приложение будет проверять базу данных на наличие дней рождения и отправлять вам напоминание, если найдется совпадение.
Приступим!
✨ Почему этот шаг важен?
Поиск дней рождения в вашей базе данных — это лишь часть работы. Чтобы сделать это приложение действительно полезным, нам нужно уведомить кого-то (вас!) о этих особенных датах.
Этот шаг связывает все воедино:
- Используйте SQL-запросы для поиска дней рождения, которые совпадают с сегодняшней датой.
- Отправьте дружелюбное SMS-напоминание с помощью Twilio.
Настройка занимает немного времени и делает приложение сразу более практичным.
🚀 Что вы узнаете
Вот что мы будем рассматривать сегодня:
- Используйте SQL-запросы, чтобы найти дни рождения, совпадающие с сегодняшней датой.
- Отправляйте SMS-уведомления с использованием Python SDK от Twilio.
- Объедините эти шаги в один рабочий скрипт на Python.
🛠 Что вам понадобится
Перед началом убедитесь, что у вас есть:
- Аккаунт Twilio (если у вас его еще нет, следуйте этому Руководству по быстрому старту, чтобы зарегистрироваться, купить номер телефона Twilio и получить свои учетные данные.
- Ваши учетные данные Twilio:
- Account SID
- Auth Token
- Номер телефона Twilio
- База данных и скрипт подключения на Python из Дня 2.
- Пример данных в вашей таблице контактов (мы добавили это в День 1 – Настройка базы данных PostgreSQL для напоминаний о днях рождения). Если вам нужно добавить больше, следуйте шагам из Дня 1, чтобы заполнить вашу базу данных.
🧑🍳 Рецепт на День 3: Проверка дней рождения и отправка уведомлений
Шаг 1: Установите SDK Python от Twilio
Чтобы отправлять SMS-уведомления, нам понадобится библиотека Twilio для Python. Установите её, выполнив:
Если у вас еще нет учетных данных Twilio (Account SID, Auth Token и номер телефона), следуйте Краткому руководству по отправке сообщений Twilio. Оно проведет вас через процесс регистрации, покупки номера телефона и получения необходимых данных.
Шаг 2: Обновите свой .env
файл
Ваш файл .env теперь должен содержать как учетные данные вашей базы данных (с Дня 2), так и учетные данные Twilio. Вы можете найти учетные данные Twilio — Account SID, Auth Token и ваш номер телефона Twilio — войдя в панель управления вашей учетной записи Twilio.
Обновите ваш .env
файл так:
# Учетные данные базы данных
DB_HOST=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_PORT=5432 # Default PostgreSQL port
# Учетные данные Twilio
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_PHONE_FROM=
TWILIO_PHONE_TO=
- Замените заполнители вашими актуальными учетными данными.
- Добавьте ваш личный номер телефона как TWILIO_PHONE_TO, чтобы получать тестовые уведомления.
Совет: Убедитесь, что .env
добавлен в ваш .gitignore
файл, чтобы предотвратить утечку конфиденциальных учетных данных в системе контроля версий.
Шаг 3: Напишите Python скрипт
Вот полный Python скрипт, который запрашивает базу данных на предмет сегодняшних дней рождения и отправляет SMS уведомления с использованием Twilio:
Шаг 5: Протестируйте ваш скрипт
Запустите скрипт, чтобы протестировать все:
Если в вашей базе данных есть день рождения, совпадающий с сегодняшней датой, вы получите текстовое сообщение. 🎉 Если нет, скрипт просто выведет:
🎁 Подведение итогов
Вот что мы достигли сегодня:
✅ Провели запрос к базе данных на дни рождения, совпадающие с сегодняшней датой.
✅ Использовали Twilio для отправки SMS-уведомлений о этих днях рождения.
✅ Объединили все в функциональный Python-скрипт.
Далее: Завтра мы развернем этот скрипт на DigitalOcean Functions, чтобы он работал в облаке — без необходимости управления сервером. Здесь Сервис Напоминания о Дне Рождения начинает работать автоматически. Оставайтесь с нами! 🚀
Source:
https://www.digitalocean.com/community/tutorials/checking-birthdays-and-sending-sms-notifications