Atlas Bot Documentation

website·Indexed 32 days ago

https://docs.atlas.bot

Documentation for Atlas, a Discord bot featuring custom automations through actions and scripts. Includes guides on triggers (keywords, messages, roles, intervals), a comprehensive library of tags ({user}, {channel}, {server}, {responder}), and plugins for moderation, tickets, and logging.

Tokens
28K
Snippets
189
Records
281
Agent score
53%

What's inside Atlas

  1. Check or remove Atlas Prime subscription status

    Use the following slash commands to manage your Prime subscription within a server:

    • /prime about: Check the current subscription status.
    • /prime remove: Remove the Prime subscription from the server.
    /prime about
    /prime remove
  2. Understand and use Context in Atlas

    Context represents the information Atlas possesses about the specific event it is currently handling. It allows commands, plugins, actions, restrictions, and scripts to access details about the current server, member, channel, message, or event.

    Context is critical when writing scripts because it determines which tags have default values. For example:

    • Message Create action: Provides message, user, and channel context.
    • Slash Command action: Provides the user who executed the command, the channel, and command options.
    • Feed delivery: Provides {$feed} and {$feedItem} context.

    When a tag is used without an explicit value (e.g., {user.name} or {message.delete}), Atlas uses the entity currently in context. If a tag parameter is documented as having a context Channel default, it can be omitted if the current trigger provides a channel in its context.

    Note that some actions have limited or different context:

    • Interval actions: Have no message context as they run on a schedule.
    • Webhook actions: Provide request data instead of standard message context.

    In cases where the required context is missing, you must provide the channel, user, or message value directly to the tag.

  3. Understand and use Atlas Plugins

    Plugins are pre-built features in Atlas that provide specific commands and behaviors for a server. They are enabled and configured via the dashboard. Examples include the Roles plugin (for assigning roles via buttons, menus, or reactions) and the Tickets plugin (for creating private staff-member channels). While plugins provide a quick starting point, some allow for further customization using scripts to modify messages. For highly specialized behavior, developers can use scripts and actions to recreate plugin-like functionality tailored to a specific server.
  4. Manage community ideas with the Suggestions plugin

    The Suggestions plugin allows members to submit ideas that staff can review, approve, deny, and track. It supports a workflow where suggestions are sent to a dedicated review channel for verification before being published to a public channel for community voting. This plugin requires an Atlas Prime subscription.
  5. Understand and optimize Atlas Synthetic Events for Actions

    Atlas uses 'synthetic events' to trigger Actions when Discord does not provide a direct event. Atlas creates these by monitoring server changes and comparing current state against cached data (e.g., comparing a member's previous roles to their new roles to trigger a 'Guild Member Role Add' action).

    Limitations of Synthetic Events:

    • They depend on Atlas having up-to-date information in its cache.
    • Inactive members may lack the cached history required for comparison.
    • Events may be delayed or missed if Atlas lacks necessary permissions.

    Recommendation: To ensure the most reliable trigger experience and avoid synthetic event limitations, grant Atlas the View Audit Log permission in your Discord server.

  6. Use the Fun plugin for casual commands

    The Fun plugin provides a small collection of casual commands ported from an older version of Atlas. This plugin is lightweight and does not require any additional configuration to operate.
  7. Configure Starboards to highlight noteworthy messages

    Starboards are specialized channels that collect messages when a specific reaction (e.g., ⭐) is added to a post. They are used to surface funny or memorable content to the community. For a message to be posted to a starboard, it must meet all configured requirements, including the correct emoji, minimum star count, and optional message age constraints. Atlas requires access to the source message and permission to send messages in the destination channel to function.
  8. Manage server storage values via the Storage page

    Server managers can use the Storage page to manually inspect, search, edit, create, and delete key-value pairs without needing to execute a script.
  9. Manage support requests with the Tickets plugin

    The Tickets plugin enables members to create private channels for staff communication. Staff members can assign, organize, close, archive, and generate transcripts of these tickets. Ticket commands and messages can be restricted to ensure staff controls remain private.
  10. Get role identification and basic properties

    Use these tags to retrieve basic metadata about a specific role.
    {role.id;role} - Gets the ID of the role
    {role.name;role} - Gets the name of the role
    {role.position;role} - Gets the position of the role
    {role.createdAt;role} - Returns the date the role was created
  11. Choose the right Atlas feature based on your goal

    Depending on your objective, use the following Atlas features:

    • Built-in features: Use Plugins for standard functionality like roles or tickets.
    • Custom commands/automations: Use Actions to build specific behaviors.
    • Visual customization: Use the Appearance settings to match your server's branding.
    • Advanced development: If you are already a coder, refer to the Developer Quick Start guide.
  12. Use Blocks to improve script readability

    Blocks provide a more readable way to format {if}, {for}, and {function} tags. They are optional but recommended for complex scripts. Block tags are identified by a # prefix; without this prefix, the block is ignored. Blocks support nesting, though certain restrictions apply (e.g., loops cannot be nested inside other loops).