Guide

Moonbouncer Launch

July 31st, 2025

Setup:

  1. Invite the bot to your server by clicking this link

  2. In the roles settings within your server, move the Moonbouncer role above your general users role (default = @everyone , keep in mind that it might be something else if you assign other roles to users when they join through onboarding or via another bot). This is required to allow Moonbouncer to assign roles to users.

    1. If the Moonbouncer role doesn’t exist, create one and assign the needed permissions

      1. manage roles

      2. view channels

      3. add reactions

      4. manage events

      5. read message history

About

Moonbouncer is the official Moonbounce Integration that supercharges your community through rewarding your audience for the actions they already do.

Much like other Discord Bots, Moonbouncer gives users points for interacting in your server, via messages sent and reactions sent on messages.

Moonbouncer also acts as a gateway into the Moonbounce Integration Engine. Which allows it to trigger events in quests, provide commands to trigger effects on your Twitch Stream (via the Moonbounce Twitch Overlay) or for users to view and trade their items.

Currently there is no way for end users to manage their server configuration, the system automatically generates a default configuration for each server.

Help Guide

Current Command List:

/link : if a user has not connected their Discord → Moonbounce, the bot will respond with an onboarding Link. This allows the user to earn MP passively while chatting in the server.

/help : Provides a user some helpful information about Moonbouncer

Discord Points System Explanation:

Every time a user sends a message in a channel, the Discord Socket manager sends an event to our system with a the ID of the discord user, along with the Discord Server ID and the Discord Channel ID. (no message content is transmitted or logged)

The system then records the ID’s. As well as a timestamp set to X amount of seconds into the future (can be configured for each discord server).

Then, once every 30 seconds, a check is run to see if the current time is greater than the timestamp for all given IDs. If so, the user is awarded Discord Points and their ID record is removed from the system.

This method ensures that users that send 10 messages per second are awarded the same amount, for that X amount of time, as someone that sends 1 message as a contribution to a conversation. Preventing spamming as a method of cheesing Discord Points. Rewarding time spent in your server, rather than sheer volume of messages.

Discord Role Consume System:

Only available to Moonbounce Content partners. This system uses the new integration engine to give a role to a user when they consume an in-app (Moonbounce) potion.

  1. The User must be in the target discord server

  2. The Discord Role must exist, and it’s snowflake (id) must be provided to the Moonbounce Team. (Partner Dashboard coming soon)

  3. Moonbouncer must be hoisted in the Discord Server role hierarchy to give that user a role (above them in the role list)

Upcoming Features:

Command System:

The Command system will be expanded to allow users to further gain value from being a part of your community.

  1. Profile Commands: Will allow users to see their current XP amount, see their Moonbounce Profile and stats (if they choose to connect their account) and flex their items/cosmetics

  2. Leaderboard Commands: Users can see where they are on the leaderboard, as well as see who is currently the top 10 for Discord Points amount, subscriptions gifted on your Twitch Channel, Time spent watching your Youtube videos…

  3. Trade Item Commands: Will allow Moonbounce Connected users to trade their in-app items from within Discord. Removing friction while building interaction.

  4. Item Effect/Consume Commands: Users will be able to run commands that directly affect them in-app, as well as triggering effects on the Moonbounce Twitch Overlay (as an example: confetti appearing on screen alongside a text message)

Points → Currency System:

  1. Connected users will be able to earn MP directly in your server. Partnered creators will be able to connect their streamlabs/streamelements to allow users to earn the points related to those systems (users no longer need to spam your Twitch chat while you’re offline..). This will be extended to all Bot users once this feature is ready.

  2. Partnered creators will also be able to leverage Discord Points to convert to a custom “creator currency” (like MP, for example) to allow their users to earn custom points that they can use to purchase special items in our store.

Group System:

Give users a specific role if they are in your server and connected to Moonbounce. They will be given a role for supporting you. This can be configured to allow users to create special in-groups.

Developer Webhook SDK

Allows advanced users to leverage our event architecture to create their own tools and integrations. This will eventually be published as part as a complete developer Javascript SDK.

Tech Architecture Overview

To meet the demanding expectations of a real-time application, a custom server was developed to listen to the Discord Web-socket Gateway. Events are then forwarded to AWS Lambda via an internal private REST API on AWS Gateway. This ensures that only services with the correct access can make event calls to our system from within our VPC.

From there, a handler parses the event and formats it correctly before sending it into an Event-bridge Event-bus, which handles routing to specific Lambda functions for processing based on custom rules. This allows us to scale and develop new features without needing to redeploy the socket manager server.

The original implementation used dedicated servers for processing and RabbitMQ for event routing. This was a great solution for a while, before running into complex congestion issues since Rabbit uses a First In, First Out message event structure. Event-bridge, on the other hand, can send events in parallel, and lambda functions are also run as separate instances with shared ephemeral memory, bringing regular event calls down in response latency (really good for creating and running slash commands).

TLDR:

Socket Manager (Container) -> AWS Private API Gateway -> API Handler Function (Lambda) -> Event-bridge -> Event Handler Function (Lambda)

Duncan

Team member

Ready to use Moonbounce?

Ready to use Moonbounce?

Ready to use Moonbounce?

Sign up now before all the cool handles are taken

moonbounce

Enter the multiplayer internet.

©2023 - Moonbounce Inc.