Skip to main content

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")

# Complete a custom quest
result = sdk.complete_custom_quest(quest_id="CUSTOM_QUEST_ID", discord_user_id="DISCORD_USER_ID")

# Get completed members for a quest
completed_members = sdk.get_completed_members(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(quest_id="CUSTOM_QUEST_ID", discord_user_id="DISCORD_USER_ID")
    
    # Get completed members asynchronously
    completed_members = await sdk.get_completed_members_async(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 server
  • get_player_info(discord_user_id): Get information about a player
  • complete_custom_quest(custom_quest_id, discord_user_id): Mark a custom quest as completed
  • get_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 asynchronously
  • get_player_info_async(discord_user_id): Get player information asynchronously
  • complete_custom_quest_async(custom_quest_id, discord_user_id): Complete a quest asynchronously
  • get_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

communityone-1.0.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

communityone-1.0-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file communityone-1.0.tar.gz.

File metadata

  • Download URL: communityone-1.0.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

Hashes for communityone-1.0.tar.gz
Algorithm Hash digest
SHA256 ee5583a931d8454c1366861172e6d78918ce7d4fda04a1efd018d938ee24aa95
MD5 7e36b0d22d55a67a64f871d78f2f088c
BLAKE2b-256 e72ffbe3390b3cd32a1462aaaa8486fe4b903d485726a93a8475835b6cd1e929

See more details on using hashes here.

File details

Details for the file communityone-1.0-py3-none-any.whl.

File metadata

  • Download URL: communityone-1.0-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

Hashes for communityone-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ed6c44cba8bc20c46f1ebe89bf105a14ebc7098edda93f4c2c1f4d0d50cb088
MD5 1d0198684e90b8ed99f9ac07c138a870
BLAKE2b-256 21c23831464c2d990801a658ba65fbb51f39decd8113df4eb0aea9a6f5d611a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page