Real slash-command code, verified interactions, clear ownership

Discord Bot Builder From Command to Hosted App

Describe the slash command, authorized data, response, and failure states. Playcode can build the HTTP interaction endpoint, business logic, tests, and hosting as real code. You connect your Discord application and complete the live server smoke test.

No credit card required · No coding needed

Quick answer

What does a Discord bot builder create?

A Discord bot builder turns a command brief into inspectable application code: slash-command definitions, an Ed25519-verified Interactions Endpoint, authorization, durable interaction identity, initial and follow-up responses, tests, and hosting. Playcode builds the artifact; you create the Discord application, store its credentials, install the command scope, register the endpoint, and verify a real server interaction.

1.1M+users
26M+projects
Since 2016

Used by people at

Counts registered accounts using corporate email domains from the companies above. Playcode is a self-serve product, not a contracted vendor to these brands.

From Slash Command to a Verified Discord Interaction

Define access, verify exact request bytes, test deadlines, then install the app

01

Describe One Slash Command

Name the command, options, permitted servers and roles, records it can read or change, and the response visible to the user.

Include invalid input, unauthorized use, duplicate delivery, and a slow dependency in the first brief.

Preview
AI Chat
Publish
I'm a realtor in Miami. I need a website to show my listings and get buyer leads.
4 Questions
2 / 4
What's the main style for your real estate site?
AModern & minimal with clean lines
BLuxury feel with large property photos
CProfessional & corporate
DI'll describe my own style below
Or type your own answer...
Skip
Next
Describe what you want to change...
Economy
Build Progress
4/6
Site layout & navigation
3s
Hero section with CTA
5s
Property listings grid
8s
Building contact form...
About page & bio
Footer & SEO meta
miami-homes.playcode.io
Miami Dream Homes
Your trusted partner in Miami real estate
Search by neighborhood...
Featured Listings
NEW
$1,250,000
Coral Gables Villa
4 bd|3 ba|2,400 sqft
OPEN
$890,000
Brickell Condo
2 bd|2 ba|1,200 sqft
Get in Touch
02

Build the Interaction Boundary

Playcode can create exact raw-body Ed25519 verification, PING handling, interaction validation, durable identity, and the command worker as real source.

Keep the Discord Public Key, Application ID, bot token, and interaction token responsibilities distinct.

03

Prove Timing and Retries Locally

Run fixtures for invalid signatures, PING/PONG, command acknowledgement, completed duplicates, and an expiring follow-up token boundary.

A deterministic handler artifact proves code behavior without claiming a live Discord app or server install.

Your website is live!

https://
miami-homes.playcode.io
Site is secure - SSL certificate active
Or connect your domainmiami-dream-homes.com
Miami Dream Homes
Your trusted partner
Miami Dream Homes
Your trusted partner
What the bot application can include

The Code Behind a Reliable Discord Command

Treat each interaction as an authenticated application request

01

Slash-command contract

Named options, validation, help text, safe defaults, and explicit visibility instead of parsing arbitrary chat messages.

02

Ed25519 request verification

Verify the exact timestamp plus raw body with the application Public Key before parsing or performing business work.

03

Fast initial response

Return PONG for provider checks and acknowledge or defer commands within Discord’s initial response deadline.

04

Authorized business logic

Check application, server, channel, role, user, and record access before returning data or changing state.

05

Idempotency and follow-up state

Persist interaction ID, response state, token timing, and bounded errors so retries and worker recovery are predictable.

06

Inspectable source and tests

Download, edit, host, and extend the complete application rather than depending on an opaque workflow canvas.

A practical Discord launch guide

Verify First, Acknowledge Fast, Process Once

Discord handles application identity and delivery; your code still owns authorization, deadlines, state, and recovery.

Before you build

Prerequisites

  • A Discord application owner and controlled test server

    The application Public Key, command registration, installation, and credential rotation belong to an accountable provider owner.

    Ready when: The owner can access the Developer Portal, name the Application ID and test server, and revoke or rotate affected credentials.

  • One slash-command and permission contract

    A slash command can reveal or mutate business records even when Discord authenticates the delivery.

    Ready when: The brief names options, server and role rules, allowed output, invalid input, unauthorized behavior, and response visibility.

  • Public HTTPS and durable interaction state

    Discord needs a reachable Interactions Endpoint, while interaction IDs and response state must survive retries and worker restarts.

    Ready when: The route is HTTPS and the data model enforces one processing record per Discord interaction ID.

Implementation sequence

Do, observe, verify
  1. 01
    Discord Developer Portal and Playcode server secrets

    Create the application and minimum install scope

    Create the application, record its owner, Application ID, and Public Key, and install `applications.commands` for the slash-command workflow. Add a bot token or bot permissions only when a specific feature needs Gateway or bot-authorized REST access.

    Expected result

    The application exists with a clear owner, a controlled server install path, and no unrelated privileged intents or permissions.

    Verify

    Inspect the OAuth2 URL, application settings, installed scopes, server permissions, source diff, and secret store without exposing credentials.

  2. 02
    Playcode Interactions Endpoint route

    Verify timestamp plus raw body before parsing

    Read `X-Signature-Ed25519` and `X-Signature-Timestamp`, concatenate the timestamp string with exact raw request bytes, and verify using the application Public Key before JSON parsing.

    Expected result

    A changed signature or body is rejected with 401 before lookup, storage, acknowledgement, or outbound actions.

    Verify

    Run fixtures that mutate the signature and body independently; both must stop before the parser or command handler.

  3. 03
    Interaction router and durable store

    Handle PING and claim the interaction ID

    Return type 1 PONG for authenticated PING. For a supported application command, validate identity, persist the interaction ID under a unique constraint, and send or defer the initial response within three seconds.

    Expected result

    Discord can validate the endpoint, one command owns one durable record, and a duplicate does not repeat the business effect.

    Verify

    Run PING, valid command, duplicate interaction, unsupported type, and slow-work fixtures; inspect response type and stored state.

  4. 04
    Playcode deployment, Discord Developer Portal, and test server

    Deploy, register, and invoke the real command

    Deploy HTTPS, enter the exact Interactions Endpoint URL, let Discord verify it, register the command for a test guild, install the scope, and invoke it with controlled data before a global rollout.

    Expected result

    Discord accepts the endpoint, the command appears in the test server, and one invocation produces one authorized initial or follow-up response.

    Verify

    Capture a redacted smoke record with UTC time, application, guild class, command, interaction ID, acknowledgement latency, response visibility, and result.

Decisions that change the build

HTTP interactions or a Gateway bot?

  • HTTP Interactions Endpoint for slash commands and component interactions
  • Gateway connection for continuous event streams and privileged intents

Choose: Use the HTTP endpoint for a focused slash-command bot. Add a Gateway worker only when the feature genuinely needs continuous events that interactions do not provide.

Tradeoff: HTTP interactions need public HTTPS, exact signature verification, and response deadlines but no long-lived connection. Gateway adds reconnects, session state, intents, permissions, and more operational surface.

Immediate response or deferred response plus follow-up?

  • Return the final response inside the initial three-second window
  • Acknowledge with a deferred response and complete through the interaction webhook

Choose: Defer when data lookup, AI work, or a downstream system can exceed the initial deadline. Record the token timing and finish promptly through the documented follow-up path.

Tradeoff: Immediate responses are simpler but make slow dependencies risky. Deferred work adds response state and a short-lived token boundary but keeps the provider acknowledgement reliable.

Before you share it

Test checklist

  • Happy path

    Send one correctly signed application-command fixture with a new interaction ID and authorized incident input.

    Expected: The handler claims the interaction once and returns the expected immediate or deferred response type inside the deadline.

  • Invalid input

    Send malformed JSON with an invalid signature, then a valid signature with an unsupported interaction type.

    Expected: The invalid signature fails before parsing, and the unsupported authenticated type gets a bounded non-business response.

  • Duplicate or retry

    Redeliver a completed interaction ID and retry a deferred interaction whose worker has not finished.

    Expected: The completed duplicate does not repeat the effect, while the pending record remains recoverable under the same interaction state.

  • Published smoke test

    Invoke the registered command once in a controlled Discord server and exercise a slow path that requires deferral.

    Expected: The endpoint acknowledgement succeeds within three seconds and exactly one permitted final response appears before the follow-up token expires.

If something goes wrong

Common failure cases

Discord rejects the Interactions Endpoint URL

Likely cause
The Public Key, raw-body capture, timestamp concatenation, PING response, HTTPS route, or response time is wrong.
Check
Inspect the authenticated PING fixture, deployed application ID and Public Key source, raw byte count, response type 1, TLS, and latency.
Fix
Correct the exact verification or PONG boundary, redeploy, and submit the endpoint URL again.

Valid commands show that the application did not respond

Likely cause
The handler waited for slow work longer than the three-second initial response deadline.
Check
Measure verification, durable claim, initial response, worker, and follow-up timestamps separately.
Fix
Return a deferred initial response promptly, persist response state, and complete through a recoverable worker.

One interaction changes the record twice

Likely cause
Interaction ID is claimed after the effect or only in process memory.
Check
Search durable records and business writes by interaction ID and compare claim, acknowledgement, worker, and retry times.
Fix
Enforce a durable unique claim before business effects and resume the same pending record after failure.

The deferred response can no longer be completed

Likely cause
The worker started too late, used the wrong interaction token or application identity, or treated the token as a permanent credential.
Check
Inspect creation, acknowledgement, worker-start, follow-up attempt, application ID, and bounded provider error without logging the token.
Fix
Start work immediately after acknowledgement, track the token deadline, fail visibly before expiry, and keep durable recovery or user retry behavior.
Illustrative outcome

A Slash Command with a Clear Public Result

The command, status, owner, and next action remain readable without pretending a generated concept is a real Discord server.

Illustrative Discord-style slash command response with a project status summary
Illustrative conceptThis is an illustrative concept, not a product screenshot. The actual result depends on your brief, Discord application, permissions, data, and deployment.
Reproducible local proof

Inspect the Interaction Boundary Before Installing the App

The same-release artifact proves deterministic Ed25519 handler behavior. It does not claim a live Discord endpoint or server response.

5
deterministic Node.js fixture tests
3s
provider initial response boundary
0
real credentials or Discord API calls

Download the tested Discord command ZIP

Choose the ownership model

Preset Bot Tool or Real Discord Application?

The right path depends on command specificity, data, and control

What you needPreset bot platformPlaycode
Command modelConfigure available triggers, fields, and connectorsDefine the exact slash command, authorization, state, and response
Source ownershipDepends on the platform export and runtimeInspect, edit, download, and host the real application source
Provider deadlineHandled within the platform’s implementationExplicit initial response, deferral, token timing, tests, and recovery
Discord setupMay provide a managed app or connector under separate termsYou own the application, endpoint, scopes, commands, and live smoke
Discord workflows worth building

Start with One Command People Can Verify

A narrow command is easier to authorize, time, test, and operate

Incident Status Command

Bounded status for an authorized server

Return the current owner, state, and next update while keeping private logs and infrastructure details behind a protected application.

Support Intake Command

One ticket per interaction

Collect structured options, create a durable request, and return a reference without duplicating it on provider retries.

Community Onboarding

Transparent steps and human escalation

Explain the next verified action, collect only necessary input, and gate role changes through explicit server permissions.

Release Approval

Authorized decision with an audit trail

Show the release summary, validate approver role, record one decision, and direct sensitive details to an authenticated interface.

The engine

A software team in one agent

Playcode AI runs the same frontier models that power ChatGPT and Claude - and orchestrates them like a team: it plans the work, delegates to sub-agents, runs long jobs in the background, and reviews its own changes.

Every frontier model

The latest models from every major lab, in one picker. Switch anytime.

ClaudeGPTGeminiGrok

Sub-agents

Big jobs split across specialists - one explores your code, one writes, one audits - working in parallel.

Background tasks

Long builds and migrations keep running while you keep talking. They report back when done.

migration - running

It sees your designs

Have a design in Figma? Paste a screenshot - or a page you like, or a bug - and it builds from what it sees.

Tuned by years of iteration to write production software - structured, typed, maintainable - not throwaway prototypes.

Production code

Real code you can open, read, and edit

Under every project is a codebase the agent keeps production-grade. And you are never locked out of it: open the file explorer and edit any file yourself - server included. No AI required.

Quality is the default

Complete states, secure boundaries, structured code - the bar is what a professional agency would ship.

Every file is yours to open

Browse the whole project - frontend, backend, configuration - and edit directly in the built-in editor.

Developers are welcome

Invite your developer with the right role, or export the project code and files. Nothing is trapped in Playcode.

For teams and organizations

Share it like you share a doc

Playcode is built for organizations, not just solo builders. Workspaces hold your projects, people, and billing; roles and teams decide exactly who sees what.

Workspaces with their own billing

Create a workspace per company, client, or department - each with its own members, projects, and subscription.

Three clear roles

Admins manage, editors build, viewers watch. Set roles on the whole workspace, on a team, or on a single project.

Teams that scope access

Group people into teams and give each team its own projects - or a whole folder of them. Private projects stay private, even inside a shared workspace.

Share outside the workspace

Send a project to any email - a client, a contractor - with exactly the access you choose. No extra seat needed.

Share "Inventory tracker"
Acme Ops workspace
Private
client@partner.co
Editor Invite
Operations team
8 people
Editor
MK
Maya Kowalski
maya@acme.co
ADMIN
JR
Jon Reyes
jon@acme.co
EDITOR
LS
Lena Sato
lena@acme.co
VIEWER
Restricted - only people invited can open it
Real-time

Multiplayer by default

Work on one project together. Write in the same AI chat together. Every message, edit, and setting is fully synchronized - live, for everyone, on every device.

acme-launch · Playcode
MKJR
Maya's laptop
Maya
Add a 'Book a call' button to the hero
Jon
And link it to our calendar, please
Playcode AIDone - button added to the hero and linked to your calendar.Preview updated
Describe the next change...
Jon's phone
Maya
Add a 'Book a call' button to the hero
Jon
And link it to our calendar, please
Playcode AIDone - button added to the hero and linked to your calendar.
Message...
Already there. No refresh.

Same project, same moment

Everyone works in the project at the same time - even in the code editor - without lock-outs or "who has the latest version".

Every device

Start on the laptop, check from your phone: the same live state follows you everywhere you sign in.

Nothing to refresh

Changes arrive over a live connection the instant they happen. Reloading the page is a habit you can drop.

Feels instant

It never makes you wait

Instant

Every click applies immediately on your device. Syncing happens behind you, not in front of you.

Offline

Connection dropped? Your changes queue locally and replay the moment you are back.

Reload-proof

The queue survives closing the tab. Nothing you did is lost while you are away.

Real People. Real Websites Built with AI.

"I built my entire portfolio site in 20 minutes. My clients think I hired a designer. Already got 3 new inquiries this month."
Marcus T. · Freelance Graphic Designer, Austin TX
"We switched from Wix to Playcode. The AI actually understands what we need instead of giving us cookie-cutter templates. Saved us thousands."
Sarah Chen · Owner, Bloom & Petal Floristry
"I update my property listings from my phone while showing apartments. Clients are impressed when I tell them I built the site myself."
David Morales · Real Estate Agent, Miami FL

Simple Pricing

Start small. Upgrade when you're ready.

Starter

$0to start

Try the AI website builder and see results

  • AI credits included to start
  • Publish your site instantly
  • Subdomain included
  • Website hosting included
  • No credit card required
Get Started

Pro

Most Popular
$21/month

Everything you need to build

  • 100 AI credits/month
  • All AI models (12+)
  • Visual editing
  • Custom domains
  • Website hosting included
  • Export your code anytime
  • Private projects
  • Unlimited collaborators

Cancel anytime. No hidden fees.

How credits work

Credits are used when AI helps you. Simple edits cost less, complex features cost more.

  • "Change button color" ~0.3-0.5 credits
  • "Add a contact page" ~2-3 credits
  • "Build full landing page" ~5-10 credits

Most users never run out. 100 credits = lots of building.

Discord Bot Builder Questions

Yes. Playcode can build the HTTP interaction endpoint, slash-command logic, data, authorization, tests, worker, and hosting as inspectable source. You still create and own the Discord application, credentials, endpoint registration, install scopes, commands, and provider smoke.

Not necessarily. A focused slash-command and component workflow can use Discord’s HTTP Interactions Endpoint. Add a Gateway worker only when a documented feature needs continuous event streams or intents that HTTP interactions do not provide.

Discord verifies Ed25519 over the signature timestamp concatenated with the exact body bytes. Parsing and re-serializing JSON can change those bytes. Capture and verify first, then parse and authorize the interaction.

Return a deferred initial response within the deadline, then complete the interaction through the documented follow-up webhook using the short-lived interaction token. Persist response state and start the worker promptly.

Keep the application Public Key as server configuration and any bot token as a protected server-side secret. Never put tokens or interaction credentials in browser code, prompts, source examples, screenshots, URLs, or routine logs.

It proves five deterministic local interaction-handler tests and archive integrity. It does not create a Discord app, register a live endpoint or command, install scopes, receive a provider interaction, or send a real Discord response.

Still have questions? Contact us

Describe the command. Build the application behind it.

Start with one authorized Discord job, one interaction identity, and one explicit response deadline. Playcode can turn the brief into real code.

Build a /status command that returns an authorized incident summary...Build My Discord Bot

No credit card required. AI credits included. Discord app setup remains yours.