Official RoQuick API wrapper for Roblox group management with advanced features
Project description
RoQuick API - Python Wrapper
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
- Join our Discord server: https://discord.gg/GwxzWg9Cbh
- Use the bot command:
/get-api-key - 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 optionsapiKey(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 returncursor(str): Pagination cursoruserId(int): Filter by specific user IDrank(int): Filter by rankroleName(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
- Invalid API Key: Join our Discord and use
/get-api-key - Rate Limiting: Upgrade your subscription or wait between requests
- Permission Errors: Ensure your Roblox account has the necessary group permissions
- Network Issues: Check your internet connection and firewall settings
Getting Help
- 📞 Discord Support: https://discord.gg/GwxzWg9Cbh
- 📧 Email: hotelc229@gmail.com
- 🐛 Bug Reports: Create an issue on GitHub
📝 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
- PyPI Package: https://pypi.org/project/roquick-api/
- Discord Server: https://discord.gg/GwxzWg9Cbh
- Roblox Game: Game link
Made with ❤️ by the RoQuick team. Join our Discord for support and updates!
Project details
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
161ada0ae5a24e6a45cdff306991a03d2f85960eaa75c8e75aaac42c13e75180
|
|
| MD5 |
14956ecd812ef613e941a4bfecd761be
|
|
| BLAKE2b-256 |
fd215b3852fe7635e1e841932b960d241afe0e0a6d9920e17378ec1f4953e071
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8bfae217dd8b2c81bcd4e02ec0c91e4ca59e6a2ba7ebd17b0349f315e48a63e
|
|
| MD5 |
ac238db78e743d32ad43e95905282644
|
|
| BLAKE2b-256 |
4ee1b107e398f368a6e51e78d43001ffb224dc9d0f7b6fe13d3ebaed2b2193f0
|