The DiakaPlug is a Python library that provides a set of tools for interacting with the Diaka donation service. It allows you to send test notifications and parse incoming notifications from Diaka streams. This README.md file offers an overview of the library and its main features.
Translation of README.md into Ukrainian.
To use the Diakaplug library, you'll need to install it via pip:
pip install diakaplug
The Diaka
class provides synchronous methods for interacting with the Diaka service.
from diakaplug import Diaka
# Initialize the Diaka class with a Diaka notification URL
diaka = Diaka("https://c.diaka.ua/notification_url")
# Send a test notification with optional parameters
status_code = diaka.send_test_notification(
target="TargetName",
amount=54,
name="DiakaPlug",
message="Hi from Python",
source="SourceName",
show="Show",
additional="AdditionalInfo"
)
# Parse a notification using a transaction ID and hash
notification_data = diaka.parse_notification(transaction_id=123, hash="notification_hash")
# Get last donations with optional parameters
last_donations = diaka.get_last_donations(limit=10, test=2)
# Get largest donations with optional parameters
largest_donations = diaka.get_largest_donations(offset=86400, limit=10, test=2)
# Get amount of donations with optional parameters
amount_of_donations = diaka.get_amount_of_donations(offset=86400, test=2)
# Establish a session with the SSE server and yield parsed notifications
for notification in diaka.session():
print(notification)
The AsyncDiaka
class provides asynchronous methods for interacting with the Diaka service.
from diakaplug import AsyncDiaka
# Initialize the AsyncDiaka class with a Diaka notification URL
async_diaka = AsyncDiaka("https://c.diaka.ua/notification_url")
# Send a test notification with optional parameters
status_code = await async_diaka.send_test_notification(
target="TargetName",
amount=54,
name="DiakaPlug",
message="Hi from Python",
source="SourceName",
show="ShowName",
additional="AdditionalInfo"
)
# Parse a notification using a transaction ID and hash
notification_data = await async_diaka.parse_notification(transaction_id=123, hash="notification_hash")
# Get last donations with optional parameters
last_donations = diaka.get_last_donations(limit=10, test=2)
# Get largest donations with optional parameters
largest_donations = diaka.get_largest_donations(offset=86400, limit=10, test=2)
# Get amount of donations with optional parameters
amount_of_donations = diaka.get_amount_of_donations(offset=86400, test=2)
# Establish a session with the SSE server and yield parsed notifications
async for notification in async_diaka.session():
print(notification)
This project is licensed under the MIT License.