App Logo

Official scripts

Explore our curated collection of scripts

discord.com

List Discord direct messages

Lists the direct messages (DMs) of the signed-in Discord account, one-to-one and group DMs, most recent first, as the Direct Messages sidebar shows them: the conversation's name, its channelId and its url. Pass a conversation's url to discord.com/read_messages to read it. Requires being logged in.

discord.com

Reply to a Discord message

Reply to a specific Discord message, addressed by its own url. Unlike discord.com/post_message, this creates a proper reply — visible as a reference to the original message rather than a plain new post in the channel. Returns the new message's id, channel id, timestamp and content, plus the id of the message it replied to.

discord.com

Create a Discord forum post

Create a post in a Discord forum channel, with a title and an opening message. Forum channels only accept posts, so discord.com/post_message cannot write to one directly. Returns the new post's threadId, name, url, parentId and opening message id. A post with the exact same title is reported rather than duplicated. To reply to an existing post, use discord.com/post_message with the post's url; to list a forum's posts, use discord.com/list_forum_posts.

discord.com

List Discord servers

Lists the Discord servers the logged-in account has access to (name + guildId), read from the server sidebar. Requires being logged in.

discord.com

Read Discord messages

Reads the most recent messages of one Discord channel or direct message (author, timestamp, text), newest first, loading older ones until the requested count; complete says whether the whole history came back. Requires being signed in. A DM or group DM is read the same way: pass its url from discord.com/list_dms. It also reads a thread or a forum post, since both are channels in their own right: pass the post's url (from discord.com/list_forum_posts). To list the posts of a forum channel rather than its messages, use discord.com/list_forum_posts. To read several channels, run the script once per channel.

discord.com

join_server_via_invite

Join a Discord server using an invite link or code, e.g. https://discord.com/invite/<code> or just the code. Returns the server's id and name, and whether the account was already a member before this ran. This is a write with lasting effect: joining a server is visible to its members and puts you on its member list until you leave.

discord.com

List Discord channels

Lists a Discord server's channels and categories from its sidebar (name, channelId, category, channel URL). Takes a guildId. Requires being logged in.

discord.com

Delete Discord message

Deletes a single Discord message by id (e.g. to clean up a message you sent). Requires being logged in as the message's author or having Manage Messages in the channel.

discord.com

Find Discord member ID by name

Resolves a Discord member's userId from their name, through a channel's mention autocomplete (@name). Useful to build a <@id> ping. Requires being logged in.

discord.com

Discord whoami (signed-in account)

Report which Discord account this browser is signed in as: the user id, username, display name and email. Fails with a signed-out error when the browser is not signed in to Discord, or when Discord is open in another tab of the same account.

discord.com

Discord login

Opens the Discord web app on the signed-in session and returns the username and display name it is signed in as. Run this first: the other Discord scripts need a signed-in session. Fails with a signed-out error when the browser is not signed in to Discord, or when Discord is open in another tab of the same account.

discord.com

Search Discord server messages

Search one Discord server's message history with Discord's own search, as the signed-in account, newest first. Search by words (content), and narrow by authors, channels, mentioned users and content type, each given as ids: get user ids from discord.com/get_member_list and channel ids from discord.com/list_channels. Returns one page of up to 25 matching messages with their author, text, time and link, Discord's total count of matches, and next_offset to read the next page (null on the last one). Fails with a clear error when the browser is not signed in to Discord, when the account is not a member of the server or can see no text channel in it, or when Discord is still indexing the server. Direct messages are not searched.

discord.com

Edit Discord message

Edit the text of one of your own Discord messages, addressed by its url. Discord marks an edited message with an "(edited)" tag visible to everyone. Returns the message's id, channel id, the new content as Discord stored it, and the edit timestamp. Only your own messages can be edited — Discord's UI offers no edit control on anyone else's.

discord.com

Get Discord server member list

List the members of a Discord server, as shown in the member list for a given channel. Returns each member's userId, display name, and whether Discord marks them as an app or bot. userId is null for members using a default avatar. On large servers Discord does not show every member at once, so the result may not be the full roster; complete tells you whether it was. Offline members may be left out, and role groupings are not returned.

discord.com

Post a Discord message

Posts a text message, optionally with a file attached (the attachment file input, renamed with filename), in a Discord channel addressed by its URL. Requires being logged in to Discord. Returns `sent` plus the created message's messageId, channelId, timestamp and content as Discord stored it. The message is visible to everyone who can see the channel. Empty messages, messages over 2000 characters and forum channels are refused with a clear reason. Use dry_run to check a channel and message without posting.

discord.com

React to a Discord message

React to a Discord message with a unicode emoji, or remove your own reaction with remove:true. Takes the message's url, as copied from Discord or built from discord.com/read_messages. Returns the emoji, the message and channel ids, whether your reaction was already there, and the reaction count afterwards. Reactions are visible to everyone who can see the channel. Supports a set of common emoji (thumbs up/down, heart, fire, eyes, check mark and similar), not every emoji and not custom server emoji. Does not work on a forum post's opening message; react to a reply in the post instead.

discord.com

create_channel

Create a channel in a Discord server — text, voice, announcement, stage or forum — optionally inside a category. Requires the Manage Channels permission in that server. Returns the new channel's channelId, name, type, url, parentId and guildId. If a channel with the same name and type already exists in that category, it is reported with already_present instead of creating a duplicate. Discord lowercases and hyphenates text and forum channel names, so the returned name may differ from the one you passed.

discord.com

Send Discord DM

Send a direct message to a Discord user, addressed by their username. Opens (or reuses) the one-to-one DM conversation and posts the message there. Returns sent, the created message's messageId, the DM channelId, timestamp, and the content as Discord stored it, plus the recipient's resolved handle so the message is provably not sent to a near-name match. This is a write and the recipient is notified: confirm the exact recipient and text with the user before running, and note that approval for one message does not carry over to another.

discord.com

delete_channel

Delete a Discord channel by its id — text, voice, announcement, stage or forum. Requires the Manage Channels permission in that server. This cannot be undone: the channel and all of its message history are removed. Category ids are refused. The script makes sure it is deleting exactly the channel you asked for; pass expectedName to also require that the channel has that name. Returns whether Discord confirmed the deletion and the name of the channel removed.

discord.com

List Discord forum posts

List the posts (threads) in a Discord forum channel, newest first, optionally only those matching a search text, as the forum's own search box finds them. Use this instead of read_messages, which forum channels don't support; pass a returned post's url to read_messages to read its replies. Returns per post: threadId, name, url, createdAt, authorName, messageCount (Discord's reply count, excluding the opening post), openingMessage and tagNames. Does not return user ids, tag ids, or archived/locked/pinned state.

discord.com

Switch Discord display language

Change the display language of the signed-in Discord account, via User Settings &gt; Language &amp; Time. Accepts en, fr, de, it and es, and reads the new setting back off the settings page so the result confirms the change rather than echoing the request. It works whatever language the account is currently displaying in. This changes account-level state for everyone using that account. Requires being logged in.

ats-tools

Detect company's ATS (Greenhouse/Lever/Ashby)

Given a company's careers page URL, detect whether it's backed by Greenhouse, Lever, or Ashby and extract the board slug usable with greenhouse.io/get_company_jobs, lever.co/get_company_jobs, or ashbyhq.com/get_company_jobs. Detection combines two signals: network requests fired by the page (Greenhouse/Lever client-side API calls, seen e.g. on discord.com/careers) and embedded links to the ATS's own hosted board (seen e.g. on notion.com/careers linking jobs.ashbyhq.com/notion). Many companies fully proxy their ATS server-side with no client-visible signal (e.g. careers.airbnb.com, retool.com/careers) - for those this returns platform: null, which is a legitimate outcome, not a failure. Point this at the company's own marketing careers page, not at a guessed ATS URL: several large companies (e.g. Airbnb, Coinbase) configure their native Greenhouse board (boards.greenhouse.io/<slug>) to redirect to their custom-branded career site, which then also yields platform: null.

slack.com

Send Slack message

Post a message to a channel or DM, identified by name ('social', '#social'), channel/DM id (C…/D…), or a user (@handle or U…) for a direct message. Pass threadTs to reply inside a thread (with broadcast to also send it to the channel). Returns the new message ts, channel id and permalink. Requires login.

slack.com

Get Slack message permalink

Get the shareable permalink URL for a message by channel (name or id) and message ts. Requires login.

teams.microsoft.com

Send Chat Message

Send a message in a 1:1 Teams chat by contact name — finds the person, opens their chat, sends the message, then reads the sent message back to confirm it posted.