- Full type hints
- Client info
- Get donates
- Get clients
- Long polling
- Async support
pip install donatello-py
For speedup:
pip install donatello-py[speed]
Get and activate your API key here.
from donatello import Donatello
client = Donatello("YOUR_API_KEY")
# Get client info
print(client.get_me())
# Get donates
print(client.get_donates(page=0, per_page=00))
# Get clients
print(client.get_clients())
from donatello import AsyncDonatello
client = AsyncDonatello("YOUR_API_KEY")
async def main():
print(await client.get_me())
print(await client.get_donates(page=0, per_page=00))
print(await client.get_clients())
asyncio.run(main())
For use long polling you need to create widget here and get widget id from url.
https://donatello.to/widget/<WIDGET_ID>/token/<YOUR_API_KEY>
from donatello import Donatello
from donatello.models import Donate, User
client = Donatello("YOUR_API_KEY", "WIDGET_ID")
@client.on_ready
def start(user: User):
print(f"Started with user {user.nickname}")
print(f"Donates Amount: {user.donates.total_amount}")
print(f"Donates count: {user.donates.total_count}")
@client.on_donate
def donate(donate: Donate):
print(donate)
client.start()
from donatello import AsyncDonatello
from donatello.models import Donate, User
client = AsyncDonatello("YOUR_API_KEY", "WIDGET_ID")
@client.on_donate
async def donate(donate):
print(f"Donator: {donate.nickname}")
print(f"Amount: {donate.amount} {donate.currency} / {donate.goal_amount} {donate.goal_currency}")
print(f"Message: {donate.message}")
@client.on_ready
async def ready(user):
print(user)
client.start()
You can find docs here.
You can find more examples here.
-
Add more examples
-
Add docs
-
Add tests
-
Websocket based long polling
-
Goal, Top, interactive widgets?Never
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.