Skip to main content

Official Python SDK for CommunityOne API

Project description

CommunityOne SDK

PyPI version Python versions

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

Testing Mode

CommunityOne allows you to test the full quest completion workflow in your application without affecting production quests data, helping you verify quest functionality before releasing it to your community. When a quest is in testing mode:

  • The quest won't be visible to regular Discord server members
  • No code changes needed! - use the same SDK methods for testing and production quests (the API automatically routes to our internal test environment)

How to enable:

  1. Go to your server's CommunityOne dashboard
  2. Navigate to Hype Engine > Custom Quests
  3. Click the Edit button on your quest
  4. Enable testing mode

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.1.1.tar.gz (5.3 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.1.1-py3-none-any.whl (5.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: communityone-1.1.1.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.11.4

File hashes

Hashes for communityone-1.1.1.tar.gz
Algorithm Hash digest
SHA256 c148d187b39efe0b29ad9f666c65e34932ad344ef196140c79011385ea01e189
MD5 40feb77a60627d7a66068165f1e8287f
BLAKE2b-256 6ebe875f65193822a4cd5f17f02bb40964ad7507ad790c8d955a364cc00639cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: communityone-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.4 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.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c184e463c9ccb5efc30938d5e66442ba6d467ac230414ccb0323840bab3436b7
MD5 aaf06195e94ca4a102f8e18b6049b727
BLAKE2b-256 cd491a7350ba71df8ca76559dee13ef0135e2bbfb35d1c5472b6b0ee11acd532

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