Skip to main content

Official RoQuick API wrapper for Roblox group management with advanced features

Project description

RoQuick API - Python Wrapper

PyPI version Python Versions License: MIT Discord

Official Python wrapper for the RoQuick API - The ultimate Roblox group management solution with advanced features for Discord bots and automation scripts.

🌟 Features

  • User & Group Information: Fetch detailed user and group data
  • Role Management: Advanced role assignment and bulk operations
  • Join Request Handling: Accept/decline join requests with bulk support
  • Member Filtering: Advanced member search and filtering
  • Premium Features: Enhanced functionality with subscription
  • Error Handling: Comprehensive error handling with detailed messages
  • Type Hints: Full type hint support for better development experience
  • Async Support: Built for high-performance applications

📋 Requirements

  • Python 3.7+
  • requests >= 2.25.0
  • colorama >= 0.4.4

🚀 Installation

pip install roquick-api

🔑 Getting Started

1. Get Your API Key

  1. Join our Discord server: https://discord.gg/GwxzWg9Cbh
  2. Use the bot command: /get-api-key
  3. Subscribe in the Roblox game for premium features

2. Basic Usage

from roquick_api import RoQuick, RoQuickError

# Initialize the client
client = RoQuick({
    'apiKey': 'your-api-key-here'
})

try:
    # Get user information
    user = client.get_user_info('bluezly')
    print(f"User: {user['username']} (ID: {user['userId']})")
    
    # Get group information
    group = client.get_group_info(12345678)
    print(f"Group: {group['name']} ({group['memberCount']} members)")
    
    # Set user role
    result = client.set_user_role(12345678, 987654321, {
        'rank': 10  # or 'roleName': 'Moderator'
    })
    print("Role updated successfully!")
    
except RoQuickError as e:
    print(f"API Error: {e.message}")
    if e.status:
        print(f"Status Code: {e.status}")

📚 API Reference

Client Initialization

client = RoQuick(options)

Parameters:

  • options (dict): Configuration options
    • apiKey (str): Your RoQuick API key

User Methods

get_user_info(identifier)

Get user information by username or user ID.

user = client.get_user_info('bluezly')  # or user ID: 123456789

Returns: Dict with user information including userId, username, displayName, etc.

Group Methods

get_group_info(group_id)

Get detailed group information.

group = client.get_group_info(12345678)

Returns: Dict with group information including name, memberCount, roles, etc.

get_group_roles(group_id)

Get all roles for a specific group.

roles = client.get_group_roles(12345678)

get_group_members(group_id, options=None)

Get group members with optional filtering.

members = client.get_group_members(12345678, {
    'limit': 100,
    'rank': 10,
    'roleName': 'Moderator'
})

Options:

  • limit (int): Maximum number of members to return
  • cursor (str): Pagination cursor
  • userId (int): Filter by specific user ID
  • rank (int): Filter by rank
  • roleName (str): Filter by role name

Role Management

set_user_role(group_id, user_id, options)

Set a user's role in a group.

result = client.set_user_role(12345678, 987654321, {
    'rank': 10  # or 'roleName': 'Moderator'
})

bulk_set_user_role(group_id, users, options)

Set role for multiple users in bulk.

result = client.bulk_set_user_role(12345678, [111, 222, 333], {
    'rank': 5
})

Join Request Management

get_join_requests(group_id, options=None)

Get pending join requests for a group.

requests = client.get_join_requests(12345678, {
    'limit': 50
})

accept_join_request(group_id, user_id)

Accept a join request.

result = client.accept_join_request(12345678, 987654321)

decline_join_request(group_id, user_id)

Decline a join request.

result = client.decline_join_request(12345678, 987654321)

bulk_join_request_action(group_id, users, action)

Perform bulk action on join requests.

result = client.bulk_join_request_action(12345678, [111, 222, 333], 'accept')

Utility Methods

set_open_cloud_key(open_key)

Set Open Cloud API key for enhanced features.

result = client.set_open_cloud_key('your-open-cloud-key')

get_api_key_status()

Get API key status and subscription information.

status = client.get_api_key_status()
print(f"Subscription: {status['subscription']['tier']}")

🔧 Error Handling

The package includes comprehensive error handling with the RoQuickError exception:

from roquick_api import RoQuickError

try:
    user = client.get_user_info('invalid-user')
except RoQuickError as e:
    print(f"Error: {e.message}")
    print(f"Status: {e.status}")
    
    # Handle specific error types
    if e.status == 401:
        print("Invalid API key")
    elif e.status == 402:
        print("Subscription required")
    elif e.status == 404:
        print("User/Group not found")
    elif e.status == 429:
        print("Rate limited")

💎 Premium Features

Unlock advanced features with a subscription:

  • Higher rate limits
  • Bulk operations
  • Priority support
  • Advanced filtering options
  • Enhanced error reporting

Subscribe in our Roblox game or contact us on Discord!

🐛 Troubleshooting

Common Issues

  1. Invalid API Key: Join our Discord and use /get-api-key
  2. Rate Limiting: Upgrade your subscription or wait between requests
  3. Permission Errors: Ensure your Roblox account has the necessary group permissions
  4. Network Issues: Check your internet connection and firewall settings

Getting Help

📝 Examples

Discord Bot Integration

import discord
from discord.ext import commands
from roquick_api import RoQuick, RoQuickError

bot = commands.Bot(command_prefix='!')
roquick = RoQuick({'apiKey': 'your-api-key'})

@bot.command()
async def promote(ctx, user_id: int, rank: int):
    try:
        result = roquick.set_user_role(12345678, user_id, {'rank': rank})
        await ctx.send(f"✅ User promoted to rank {rank}")
    except RoQuickError as e:
        await ctx.send(f"❌ Error: {e.message}")

bot.run('your-bot-token')

Bulk Role Assignment

# Promote multiple users to moderator rank
moderator_candidates = [111111111, 222222222, 333333333]

try:
    result = client.bulk_set_user_role(12345678, moderator_candidates, {
        'roleName': 'Moderator'
    })
    
    successful = len([r for r in result['results'] if r['success']])
    print(f"Successfully promoted {successful}/{len(moderator_candidates)} users")
    
except RoQuickError as e:
    print(f"Bulk promotion failed: {e.message}")

Join Request Management

# Auto-accept all pending join requests
try:
    requests = client.get_join_requests(12345678)
    user_ids = [req['user']['userId'] for req in requests['groupJoinRequests']]
    
    if user_ids:
        result = client.bulk_join_request_action(12345678, user_ids, 'accept')
        print(f"Accepted {len(user_ids)} join requests")
    else:
        print("No pending join requests")
        
except RoQuickError as e:
    print(f"Error processing join requests: {e.message}")

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔗 Links


Made with ❤️ by the RoQuick team. Join our Discord for support and updates!

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

roquick_api-0.0.3b0.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

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

roquick_api-0.0.3b0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file roquick_api-0.0.3b0.tar.gz.

File metadata

  • Download URL: roquick_api-0.0.3b0.tar.gz
  • Upload date:
  • Size: 13.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for roquick_api-0.0.3b0.tar.gz
Algorithm Hash digest
SHA256 161ada0ae5a24e6a45cdff306991a03d2f85960eaa75c8e75aaac42c13e75180
MD5 14956ecd812ef613e941a4bfecd761be
BLAKE2b-256 fd215b3852fe7635e1e841932b960d241afe0e0a6d9920e17378ec1f4953e071

See more details on using hashes here.

File details

Details for the file roquick_api-0.0.3b0-py3-none-any.whl.

File metadata

  • Download URL: roquick_api-0.0.3b0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for roquick_api-0.0.3b0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8bfae217dd8b2c81bcd4e02ec0c91e4ca59e6a2ba7ebd17b0349f315e48a63e
MD5 ac238db78e743d32ad43e95905282644
BLAKE2b-256 4ee1b107e398f368a6e51e78d43001ffb224dc9d0f7b6fe13d3ebaed2b2193f0

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