Async/sync library for sending notifications
Project description
Notifier Craft
Notifier Craft — это мощная библиотека для Python, предназначенный для работы с уведомлениями. Она предоставляет как синхронные, так и асинхронные методы для отправки уведомлений через различные каналы. На данный момент поддерживаются уведомления через Telegram-ботов (как синхронно с помощью Telebot, так и асинхронно с помощью aiogram) и через электронную почту (с использованием smtplib). В будущем планируется добавить поддержку Telegram userbot, Discord-ботов, VK-ботов, а также рассылку SMS.
Установка
- Установка, используя пакетный менеджер pip
pip install notifier-craft
- Установка с GitHub
pip install git+https://github.com/marakhd/notifier-craft
Использование
Синхронные методы
Пример для иcпользования с синхронными методами
from notifiercraft import CreateClient, Telegram, Email # Импортируем Client и Senders
tg = Telegram(
token="6804851619:AAElnF-gnZ5_X9rDZ6LiJvDODgQG2CURvcA"
)
# Любой sender имеет метод send_message для отправки без создания клиента, клиент нужен для удобного управления
# tg.send_message(chat_id=0123456,
# text="test",
# parse_mode = "HTML",)
email = Email(
host="smtp.gmail.com",
port=587,
login="example@gmail.com",
passw="passw"
)
client = CreateClient(
tg,
email
)
client.send.telegram(chat_id=2075302695, text="Hello1") # Отправка через Email
client.send.email(email="marakin09@mail.ru", text="Hello1", subject="subject") # Отправка через Telegram
client.send.all(chat_id=2075302695, email="marakin09@mail.ru", text="Hello1", subject_email="subject") # Отправка всеми способами
Асинхронные методы
Пример для иcпользования с асинхронными методами
from notifiercraft import CreateAsyncClient, AsyncTelegram, AsyncEmail # Импортируем AsyncClient и AsyncSenders
import asyncio
tg = AsyncTelegram(
token="6804851619:AAElnF-gnZ5_X9rDZ6LiJvDODgQG2CURvcA"
)
# Любой sender имеет метод send_message для отправки без создания клиента, клиент нужен для удобного управления
# await tg.send_message(chat_id=0123456,
# text="test",
# parse_mode = "HTML",)
email = AsyncEmail(
host="smtp.gmail.com",
port=587,
login="example@gmail.com",
passw="password"
)
client = CreateAsyncClient(
tg,
email
)
async def main():
await client.send.telegram(chat_id=2075302695, text="AsyncHello1") # Отправка через Email
await client.send.email(email="marakin09@mail.ru", text="AsyncHello1", subject="Asyncsubject") # Отправка через Telegram
await client.send.all(chat_id=2075302695, email="marakin09@mail.ru", text="AsyncHello1", subject_email="Asyncsubject") # Отправка всеми способами
await tg.close() # Закрываем сессию
asyncio.run(main())
Планируемые обновления
В ближайших обновлениях планируется добавление следующих возможностей:
- Поддержка Telegram userbot
- Интеграция с Discord-ботами
- Поддержка VK-ботов
- Отправка SMS
Лицензия
Этот проект распространяется под лицензией MIT License. См. LICENSE для подробностей.
Контрибьюции
Если вы хотите внести изменения или улучшения в проект, пожалуйста, создайте Pull Request или откройте Issue в репозитории.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file notifier_craft-0.1.0.tar.gz
.
File metadata
- Download URL: notifier_craft-0.1.0.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.2 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5ad9a0c23f28dbd0fe76c0009b9e30460bcc497df360034841d7c44267511d1 |
|
MD5 | b15336a65b108eef3515900302eff823 |
|
BLAKE2b-256 | c599876104360f9af7b5af2e73aec84935e14c3d81e0b1898aeb5147103c9822 |
File details
Details for the file notifier_craft-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: notifier_craft-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.2 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848613fa71ce591f86d5726b386d3e76bde288078317d403e37bc8cec26df550 |
|
MD5 | 3e5884edbac772bd926b5418c1791de7 |
|
BLAKE2b-256 | 1cfb1cbd0b59ef2c767c718fb71c094956d9a9b6c7bcef13f99e90b6304ccafe |