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.1.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.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: communityone-1.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 c8083a4137cfcbc4a5d03d2b01ebaed74109f0e3eaa059c3b89b42861a44d642
MD5 bcb267e15bd5f2d2ccdcd16617864c3b
BLAKE2b-256 d312bf0b2d8f64e0952920a8a03dc226bee72d90827a475c403b7205cc85839d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: communityone-1.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41782a572c7e639c1481f98b8b36545817eb61f3d36c546abc656ee406068fbc
MD5 3888daaca63c31d5c54fbb6f1c0a8560
BLAKE2b-256 600a7c90759bd8d9e158fde103a448307db8b93192d36405bf2c19212baba3c1

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