Discord Bot Integration

Instructions and recommended settings for adding the WWZ bot to your server

WWZ
7 min readOct 24, 2023

Before we begin

This guide is intended for NFT community managers who have been green-lit for hosting a WWZ gym and are preparing to launch. It is the third and final step in the gym customization and setup process.

No software development experience is required to follow along with this guide, however you will require sufficient privileges on your server to:

  • invite the WWZ bot — you will need either ADMIN or MANAGE SERVER Discord privileges
  • create and edit channels and categories — requires theMANAGE CHANNELS permission

This guide is just a set of recommendations we have found to work for us when integrating WWZ. You know your server best — if you are comfortable customizing your setup, please feel free. The game should work normally as long as:

  • the bot can read/write to the game channel (including posting attachments, embed content, etc. — see specific permissions below)
  • the game channel allows the use of WWZ commands

With those qualifiers out of the way, let’s go.

Add the WWZ Discord bot to your server

First, use your web browser to visit the WWZ bot invite link provided by the WWZ team. Select the server to which you would like to add the bot and press the Continue button.

If you do not see the name of your server in the select menu, your user may be missing necessary permissions on the server. Adding a bot requires either ADMIN or MANAGE SERVER Discord privileges.

Choose the name of the server to which you are adding WWZ and then `Continue`

The next screen shows what server permissions the bot is requesting. Later we will restrict the bot to only use these permissions within game channels through application command and channel permissions.

Review these to ensure there are no surprises and press the Authorize button to continue.

The bot requests permissions as high as managing threads and messages. We will allow here, but later prevent it from being used in channels not meant for WWZ games.

Create gym category

Creating the gym’s Discord Category. The rest of the section explains the steps in this animation.

If you aren’t familiar, a Category is a group of Channels in Discord. It will help keep WWZ channels organized in your server and provide some convenient helpers for setting permissions later in this guide.

In this example, “Text Channels” and “Voice Channels” are Discord Categories. We will create a new one for your WWZ gym.
  1. Open the server menu and select Create Category.
  2. Enter a name for your gym and set it to private.* You can change this later if you are still thinking about your Gym Identity.

*We recommend ‘private’ for at least the set up process. Long-term, choosing to make your gym private is up to you. If you only want players (community members with eligible NFTs) to play and watch games, then by all means make it private. Depending on the community, though, it could make sense to let spectators access gym channels and token-gate the WWZ commands used to play.

Set category permissions

Setting gym-wide permissions for WWZ bot

In this step, we will set the default permissions for the WWZ bot in any channels created within the gym.

Why set permissions on Category and not Channel?

If we set permissions at the Channel level, we have to set them for each Channel. If we set them on the Category, we only have to set them once and can then use each Channel’s “sync” button to inherit.

  1. Navigate to the Category Settings menu
  2. Select (or add) the WWZ role to the list under Advanced permissions.
  3. Grant the permissions listed below. The bot will only be able to perform these actions within the gym category.
  • View Channels
  • Send Messages
  • Send Messages in Threads
  • Create Public Threads
  • Create Private Threads
  • Embed Links
  • Attach Files
  • Add Reactions
  • Use External Emoji
  • Use External Stickers
  • Manage Messages
  • Manage Threads
  • Read Message History

Create game channels

We will use the + next to the name of your gym in the channel list to create game channels.

We will not need to modify the WWZ bot permission after creating each channel, because they should be automatically inherit the permissions from the category we established above.

Create main free-for-all channel

Create channels for optional game modes

Repeat the step above to create additional channels for game modes you would like to make available in your gym. You do not need to use these names exactly, but a player passing by should be able to tell the game mode from the channel name.

  • #player-vs-boss-1 — for your first boss channel
  • #player-vs-boss-2 — if you want a second boss channel
  • #player-vs-player — for PvP matches players can run on their own
  • #gym-vs-gym — for cross-community matches and leagues
  • #the-circuit — for cross-community special events

Create supporting channels (optional)

Create gym activity feed channel

The WWZ bot will send a message to the activity feed whenever a match begins and ends. It can be a great way for anyone to quickly get caught up on the latest action in you gym.

Create and initialize WWZ news channel

We will direct two types of WWZ announcements to a single news channel in our gym.

First, create the channel.

Then, go to the WWZ Discord Server.

Go to the #patch-notes channel. Tap the Follow button near the channel’s name at the top of the application. Choose your community server and the news channel we created at the start of this section as the recipient of updates.

Repeat for #system-status — direct subscribed messages to the same news channel we created above.

Manually Sync Channel to Category (Situational)

If one of your game channels has an issue with permissions, it can help to resync to the gym category permissions. You will not see this option if the channel is already in sync.

Restrict WWZ command usage to gym

Deny all access

Start by navigating to the WWZ Integration menu and disallowing any use of WWZ commands — but don’t close the WWZ Integration menu — we’ll pick up here in the next step.

Grant limited access to WWZ player command

Grant access to the /wwz command (not /wwzadmin — we’ll get there next) to:

  • whichever community role(s) you would like to be allowed to play in WWZ matches — NFT Holder in our demo
  • each game channel you have created (this does not include supporting channels) — #free-for-all and #player-vs-boss for our demo

Keep the WWZ Integration menu open for one more step.

This restriction is why it may be acceptable to let non-holders attend matches in gym channels — they will not be able to use game commands or train combatants.

Grant limited access to WWZ admin command

We recommend restricting access to the /wwzadmin command to your moderation team or whomever you see as the right people to manage community games. If you do not do this, players can manipulate matches (use the admin menu to start/delete the current community game, etc.).

Set Player Permissions

Complete this section when you are ready to let players into the gym (even if only a few pre-launch testers).

Enable Players

Give players** access to the gym Discord Category and privileges to send messages/use commands in game channels.

Deny write access to Supporting Channels

We normally suggest creating a gym lobby for any kind of gym chatter rather than granting messaging privileges in the Support Channels like #gym-activity-feed and #gym-news. They are meant to be easily scanned.

** For our demonstration gym, we created an NFT Holder role to represent the group of community members who hold an NFT native to our gym. If you already have token-gated Discord content, you likely already have a role to use here.

Start playing

Your gym should be ready to go! If not, please reach out to the WWZ team. The content for this guide largely comes from working through any new setup issues you might have.

--

--

WWZ

WWZ is a fun, multiplayer Discord game for PFP NFTs