01 · GETTING STARTED
Useful in about thirty seconds.
Pocket Tool installs to your Discord account as a user app. Add it once, then use its commands anywhere Discord makes them available - servers, direct messages and private channels included.
Add the app
Use Discord’s authorization screen to install Pocket Tool to your account.
Type a command
Start with /help, or jump straight to something useful like /timestamp.
Try message tools
Open a message’s Apps menu to quote, translate, transcribe or turn content into a GIF.
02 · USER APP INSTALL
Install once. Use it across Discord.
Pocket Tool is installed to your Discord account as a user app. You can then use it in DMs, private channels and servers where user-installed apps are allowed. Commands that depend on server data - such as /role - only appear in compatible server contexts.
Add it to your account
Pocket Tool follows your Discord account instead of being installed to one server.
Bring it into any conversation
Call its commands in DMs, private channels and servers that allow user-installed apps.
Exact command availability still depends on the context, Discord permissions and whether the public app has a required third-party service configured.
03 · FEATURED WORKFLOWS
Four commands worth knowing first.
Message Context Command
Quote This Message
Open the target message’s menu, choose Apps, then Quote This Message. Pocket Tool builds a quote card and lets you refine its font, fit, colour and effects before posting.
Message -> Apps -> Quote This MessageSlash Command
/timestamp
Give Pocket Tool a natural phrase such as “tomorrow at 2pm”. Add an IANA timezone when the date is not UTC, choose one of Discord’s timestamp styles and optionally make the response ephemeral.
/timestamp time: tomorrow at 2pm timezone: Europe/London style: Relative TimeSlash Command
/tts
Enter up to 500 characters, optionally choose a language and select Male, Female or Neutral voice styling. The result arrives as a native Discord voice message.
/tts text: Welcome aboard voice: Neutral language: EnglishSlash Command
/tweet
Paste an X post URL or ID to build a rich preview. Set a language when you also want its text translated for the conversation.
/tweet url: https://x.com/… language: Portuguese04 · COMMAND REFERENCE
Find the right thing quickly.
Search the current public commands and context-menu actions. Syntax examples show the available inputs, not required values.
Create & Media
5 commands/ttsSlash CommandConvert up to 500 characters into a native Discord voice message.
/tts text: … voice: Neutral language: EnglishText to SpeechMessage Context CommandConvert text into a native Discord voice message.
Message menu -> Apps -> Text to SpeechQuote This MessageMessage Context CommandCreate a custom quote card from a message, with type and visual controls.
Message menu -> Apps -> Quote This Message/gifSlash CommandTurn an uploaded image into a GIF.
/gif image: attachmentSpeech to TextMessage Context CommandTranscribe audio attached to a message.
Message menu -> Apps -> Speech to TextLanguage & Time
5 commands/timestampSlash CommandGenerate a Discord timestamp from natural language, with timezone and style controls.
/timestamp time: in 10 minutes timezone: Europe/London style: Relative Time/timezoneSlash CommandSee the current time in any supported timezone.
/timezone zone: America/New_York/translateSlash CommandTranslate text between supported languages, with automatic source detection.
/translate text: … from: Auto Detect to: Use my localeTranslate This MessageMessage Context CommandTranslate an existing message without copying it into a slash command.
Message menu -> Apps -> Translate This Message/tweetSlash CommandDisplay a rich X post preview and optionally translate its text.
/tweet url: … language: Use my localeLookups
6 commands/userSlash CommandView global or server-specific information about a user.
/user user: @member scope: GuildView User ProfileUser Context CommandOpen the same profile lookup from a user context menu.
User menu -> Apps -> View User Profile/avatarSlash CommandView a user's global or server avatar with direct format links.
/avatar user: @member scope: Global/bannerSlash CommandView and download a user's profile banner.
/banner user: @member/roleSlash CommandInspect a role's age, position, colours and key permissions.
/role role: @role/inviteSlash CommandView information about a Discord invite link.
/invite link: discord.gg/…Essentials
3 commands/helpSlash CommandBrowse the commands currently available to you.
/help/pingSlash CommandCheck that Pocket Tool is online and responding.
/ping/debugSlash CommandView some information about Pocket Tool.
/debug05 · SELF-HOSTING
Run your own Pocket Tool.
Self-hosting is intended for developers comfortable with Discord applications and public HTTP endpoints. You need Bun, a Discord app token and a publicly accessible URL for interactions.
# Clone and install
git clone https://github.com/mloetta/pocket-tool
cd pocket-tool
bun install
# Create and edit local configuration
cp .env.example .env
# Start the app
bun run startConfigure Discord interactions
- Open your application in the Discord Developer Portal.
- Go to General Information.
- Set Interactions Endpoint URL to your public
/interactionsroute. - Keep Pocket Tool running while Discord verifies the endpoint.
Environment variables
tokenDiscord app tokenRequireddiscord_public_keyVerifies incoming interactionsRequiredportHTTP server portRequireddev_idsDeveloper user IDsOptionalmaintenanceMaintenance-mode flagOptionalregister_commandsRegister commands on startupOptionalsupabase_url / supabase_api_keySupabase connectionFeature dependentredis_*Redis connectionFeature dependenteleven_labs_api_keyEnables text-to-speechFeature dependenttolgchu_twitter_api_keyEnables tweet previewsFeature dependent06 · DATA & PRIVACY
Only what keeps the app working.
The project privacy policy states that Pocket Tool may store interaction trigger logs and command usage analytics. It does not sell, rent or trade user data. Third-party providers can process limited data when a command needs them.