Official Python SDK for CommunityOne API
Project description
CommunityOne SDK
Official Python SDK for interacting with the CommunityOne API. This SDK provides both synchronous and asynchronous methods to interact with CommunityOne's API endpoints.
About CommunityOne
CommunityOne is a platform that helps Discord communities grow and engage their members through quests, rewards, and gamification.
Installation
You can install the package using pip:
pip install communityone
Quick Start
from communityone import CommunityOneSDK
# Initialize the SDK with your server ID and API key
sdk = CommunityOneSDK(server_id=YOUR_SERVER_ID, api_key="YOUR_API_KEY")
# Get all custom quests
custom_quests = sdk.get_custom_quests()
# Get player information
player_info = sdk.get_player_info(discord_user_id="DISCORD_USER_ID")
# Complete a custom quest
result = sdk.complete_custom_quest(custom_quest_id="CUSTOM_QUEST_ID", discord_user_id="DISCORD_USER_ID")
# Get completed members for a quest
completed_members = sdk.get_completed_members(custom_quest_id="CUSTOM_QUEST_ID")
Async Support
The SDK also provides async methods for all operations:
import asyncio
from communityone import CommunityOneSDK
async def main():
sdk = CommunityOneSDK(server_id=YOUR_SERVER_ID, api_key="YOUR_API_KEY")
# Get custom quests asynchronously
custom_quests = await sdk.get_custom_quests_async()
# Get player information asynchronously
player_info = await sdk.get_player_info_async("DISCORD_USER_ID")
# Complete a custom quest asynchronously
result = await sdk.complete_custom_quest_async(custom_quest_id="CUSTOM_QUEST_ID", discord_user_id="DISCORD_USER_ID")
# Get completed members asynchronously
completed_members = await sdk.get_completed_members_async(custom_quest_id="CUSTOM_QUEST_ID")
# Run the async code
asyncio.run(main())
Available Methods
Synchronous Methods
get_custom_quests(): Get all custom quests for the serverget_player_info(discord_user_id): Get information about a playercomplete_custom_quest(custom_quest_id, discord_user_id): Mark a custom quest as completedget_completed_members(custom_quest_id): Get all members who completed a quest
Asynchronous Methods
get_custom_quests_async(): Get all custom quests for the server asynchronouslyget_player_info_async(discord_user_id): Get player information asynchronouslycomplete_custom_quest_async(custom_quest_id, discord_user_id): Complete a quest asynchronouslyget_completed_members_async(custom_quest_id): Get completed members asynchronously
Rate Limiting
All API endpoints are subject to rate limiting:
- 60 requests per minute per server
- Rate limits are applied separately for each endpoint
- Exceeding the rate limit will result in a 429 Too Many Requests response
Requirements
- Python 3.7 or higher
- requests>=2.25.0
- aiohttp>=3.8.0
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file communityone-1.0.2.tar.gz.
File metadata
- Download URL: communityone-1.0.2.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b03f353f3b78156867ef5c9861a481fcd923dbc28ebbc0f4d48bb25cfac8fd97
|
|
| MD5 |
c975b652b43f9bd64f7ba5c042f4a0ff
|
|
| BLAKE2b-256 |
69a693d14b747cfec5bda51cbe57e9862067248ed32552eab2840db3dadaf6f6
|
File details
Details for the file communityone-1.0.2-py3-none-any.whl.
File metadata
- Download URL: communityone-1.0.2-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8daf225dae472b6dc8240f8f82e50d414f9225fc72f06aaccb682ee6e739c773
|
|
| MD5 |
882dfb4b24a7913a4b028cf497d20b52
|
|
| BLAKE2b-256 |
d91579bd639d26c4a11115cb21562788bf75c753d27989e4b89f7440f6d75640
|