Python SDK for Commandless relay API
Project description
commandless-relay (Python)
Official Python SDK for the Commandless relay API.
This package gives Python bots a simple client and a ready-to-use discord.py adapter.
Install
Core client:
pip install commandless-relay
With discord.py adapter support:
pip install "commandless-relay[discord]"
AI-only setup (no code)
Install and run from terminal, similar to the Node SDK flow:
pip install "commandless-relay[discord]"
commandless-discord
Set these environment variables first:
BOT_TOKEN- your Discord bot tokenCOMMANDLESS_API_KEY- API key created in Commandless dashboardCOMMANDLESS_SERVICE_URL(orSERVICE_URL) - optional, defaults to Commandless backendBOT_ID- optional bot ID from dashboard (recommended)COMMANDLESS_HMAC_SECRET- optional HMAC secretCOMMANDLESS_MENTION_REQUIRED- optional (trueby default)
Quickstart (discord.py in code)
import os
import discord
from commandless_relay import RelayClient, use_discord_adapter
TOKEN = os.getenv("BOT_TOKEN")
API_KEY = os.getenv("COMMANDLESS_API_KEY")
BASE_URL = os.getenv("COMMANDLESS_SERVICE_URL") or os.getenv("SERVICE_URL") # optional
intents = discord.Intents.default()
intents.message_content = True
intents.messages = True
intents.guilds = True
client = discord.Client(intents=intents)
relay = RelayClient(api_key=API_KEY, base_url=BASE_URL) # base_url optional
use_discord_adapter(client, relay, mention_required=True)
@client.event
async def on_ready():
print(f"Logged in as {client.user}")
client.run(TOKEN)
Environment variables
BOT_TOKEN- your Discord bot tokenCOMMANDLESS_API_KEY- API key created in Commandless dashboardCOMMANDLESS_SERVICE_URL(orSERVICE_URL) - optional, defaults to Commandless backendBOT_ID- optional fixed bot id to lock config/personaCOMMANDLESS_HMAC_SECRET- optional HMAC secretCOMMANDLESS_MENTION_REQUIRED- optional (trueby default)
Included components
RelayClientsend_event(event)-> Decision dict orNoneregister_bot(...)-> botId (optional flow)heartbeat()(optional flow)
use_discord_adapter(client, relay, mention_required=True, execute=None)- binds an
on_messagelistener - sends events to relay
- executes reply actions by default
- sends a clear message on billing rejection (402 / no subscription or credits)
- binds an
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 commandless_relay-0.1.3.tar.gz.
File metadata
- Download URL: commandless_relay-0.1.3.tar.gz
- Upload date:
- Size: 6.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cba64b7f99cfc3514be198c89df35ff365a662f4827207b7402312a2b1cd123
|
|
| MD5 |
0b773f958a30656b40bad8290b75701b
|
|
| BLAKE2b-256 |
53efb4a8df217329c33888958cbc7ca55512e2d6651b657d5449ca4a4e17c9c4
|
File details
Details for the file commandless_relay-0.1.3-py3-none-any.whl.
File metadata
- Download URL: commandless_relay-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50433f3524cad70dd772abc176ec93158b793ecf0b402b9d588752e354378249
|
|
| MD5 |
e3dd94f614cdb9f13b4a7c76182fb36b
|
|
| BLAKE2b-256 |
0e29bd1565c76f6f537a6d8799afbacb1e2ab598aa7ac65f8e614b01289c9f23
|