Helpcenter / Discord / Full discord application dashboard tutorial
Discord Developer Portal — Complete Application Setup Guide

Complete Discord Application Setup Guide

Step-by-step walkthrough of the Discord Developer Portal — create an app, add a bot, set permissions, generate invite links, and more.

1) Create Your Application

Path: discord.com/developers → Applications → New Application

Step A — Open the Developer Portal

Visit discord.com/developers/applications and sign in.

You'll land on the Applications page. Click New Application.

Step B — Name & Icon

Give your app a clear name and (optional) icon. This represents your bot publicly.

Use a unique name to avoid confusion in large servers.

2) Add a Bot User

Path: Application → Bot → "Add Bot"

Step A — Create the Bot

On the left sidebar, click BotAdd Bot → confirm.

Set the username and profile picture for your bot.

Step B — Public / DM Settings

Optional: Toggle whether your bot can be added by anyone, and whether it can receive DMs.

If you're in development, keep it private until you're ready.

3) Get Your Bot Token

Path: Application → Bot → Token → "Copy"

Step A — Copy Token

In the Bot page, under Token, click Reset/Copy.

Never share your token. If you suspect a leak, Reset Token immediately.

Step B — Store Securely

Save the token in an environment variable (example):

DISCORD_TOKEN=your_super_secret_token_here

Most hosting panels let you set environment variables per app.

4) Privileged Gateway Intents

Path: Application → Bot → Privileged Gateway Intents

What They Are

Intents control what events your bot receives:

  • Presence Intent — user online/offline status.
  • Server Members Intent — member joins, updates, member lists.
  • Message Content Intent — access to message text.
Only enable what you actually need for your features.

Enable the Right Intents

Toggle required intents and click Save Changes.

If you use slash commands only, you often don't need Message Content.
💡 Intent & Scope Planner (examples)
  • Moderation bot → Members + Message Content
  • Music bot → Members (for voice joins), often no Message Content if using slash commands
  • Utility bot → Usually Members; Message Content only if you parse raw messages

5) Permissions & Scopes

Path: Application → OAuth2 → URL Generator

Scopes

At minimum, select:

  • bot — required to invite the bot to servers.
  • applications.commands — required for slash commands.

Permissions

Choose only what your bot needs. Examples:

  • Send Messages, Manage Messages
  • View Channels, Read Message History
  • Administrator (only if truly required)
Avoid Administrator unless absolutely necessary.

6) Generate the Invite Link

Path: Application → OAuth2 → URL Generator → Scopes + Permissions

Manual Process

In the Discord Developer Portal, go to OAuth2 → URL Generator.

Select your scopes and permissions, then copy the generated URL.

The portal will generate the exact URL you need based on your selections.

🔗 Quick Invite Generator

bot applications.commands identify
Find this in your Application → General → Application ID

Testing Your Invite

Use the generated link to invite your bot to a test server.

Verify that the bot appears in the member list and has the expected permissions.

Always test in a private server first before sharing publicly.

7) OAuth2 Redirects (for dashboards/auth)

Path: Application → OAuth2 → General → Redirects

Where to Set

Go to OAuth2 → General, then add your exact redirect URIs (e.g., https://example.com/callback).

The URL must match exactly (scheme, host, path). No wildcards.

When Needed

If you build a web dashboard or sign-in flow, your site will receive a code at this redirect URL to exchange for tokens.

🔎 Common scopes for web auth
  • identify — basic user info
  • guilds — list of servers the user is in
  • email — user email (if needed)

8) Rich Presence Assets

Path: Application → Rich Presence → Art Assets

Upload Images

Upload Large and Small images with unique keys.

You'll reference these keys in your code to display rich presence art.

When It Shines

Games, study tools, or streaming utilities can display status ("Playing …", "Studying …") with join buttons.

9) Slash Commands

Path: Use scope "applications.commands" + register via API/SDK

Why Slash Commands

They're structured, discoverable, and safer than parsing message text.

  • Autocomplete, validation, and built-in permissions
  • No need for Message Content intent

Registering Commands

Use your library (discord.js / discord.py) or the HTTP endpoints to register global or guild commands.

Guild commands update faster (seconds) for testing; global can take up to an hour.

10) Test & Troubleshoot — Quick Checklist

Before Inviting

  • Bot user created and token stored safely
  • Correct Intents toggled for your features
  • Scopes: bot + applications.commands
  • Permissions: only what you need (avoid Administrator)

After Inviting

  • Bot shows as online in your test server
  • Slash commands registered (try /help)
  • Check logs for missing intents or missing permissions
Best tutorial on the net We strive for providing the best information and tools at spooknode. you will never feel as if we don't put effort to make hosting easier for you!

Do you think this article is helpful?

0 people thought this article was helpful (0 votes)