The Splinterlands-Guild-Bot helps your guild track contributions to a dedicated guild account, as well as Brawl results and alerts if players are about to miss submitting their teams.
This article describes how to invite the bot to your Discord Server and how to set up your guild. It is structured as follows:
- Invite the bot to your server
- $help_token (image that shows how to get a players token)
- $add_guild (add guild to a channel)
- $add_member (add member to a guild)
- $remove_member (remove member from guild)
- $list_members (list current members)
- $verify_player_token (verify if the provided token is correct)
- $set_player_token (replace the old player-token combination with a new one)
- $set_contribution_account (account where members send their contributions)
- Automated messages
- Fray Alerts
- Battle Alerts
- $set_fray_alert (set the time when the fray assignments get checked)
- $set_battle_alert (set the time when the submitted battles get checked)
- $last_brawl_results (overview of the previous brawl results)
- Automated messages
- Automated contribution reminder
- $update_contributions (updates the contributions that need to be payed)
- $list_contributions (shows the total contributions of all guild members)
- $list_contributions_player (shows the total contributions of one player)
- $manual_contribution (adds a contribution to a player manually)
- $list_manual_contributions (shows all manual contributions)
- $contributions_csv (sends a formatted csv file of all contributions)
- Bot malfunctions - What to do?
1. Invite the bot to your Discord Server
- You need to have admin rights on the server
- Click here to add the bot to your server
To add a guild to the server, you need the username of the player within that guild and the player's token. The following image shows how to get that token. You can also view this by typing the command $help_token
Before you can use any commands (except for $help, $help_token, and $commands) you need to add a guild to one of the channels in your server.
- Get the username and token (see $help_token) of a user from your guild
- Use $add_guild <username> <token> to link your guild to the channel you are typing that command
- e.g. $add_guild giemo S6LF3XBE80
The token is important if you want to use the alert fray functionality and can be checked for correctness ($verify_player_token) and changed ($set_player_token).
To be able to ping members, you need to link them to their discord accounts. Note that it is possible to link multiple Splinterlands accounts to one discord account.
- Use $add_member <username><mention_discord_user>
- e.g. $add_member giemo @Giemo
Remove member works the same way, but you only need the Splinterlands username to remove a player.
- Use $remove_member <splinterlands_username>
- e.g. $remove_member giemo
Gives an overview of linked members.
- Use $list_members
Checks if the player-token combination is valid
- Use $verify_player_token
- Use $set_player_token <username> <token>
- e.g. $set_player_token giemo S6LF3XBE81
This command is to set up the contribution functionality of the bot. If you don't want/need it then you can ignore this.
- Use $set_contribution_account <username> <token> <amount> <start_date (YYYY-mm-dd)>
- username: Splinterlands account where the contributions are sent to
- token: Token of the Splinterlands account where the contributions are sent to
- amount: The amount that needs to be contributed every week
- start_date: When the contributions shall start
- e.g. $set_contribution_account warriorsfund RMAEIB7GBK 250 2022-05-01
- Use $commands
One of the main goals of this bot is to remind players to fill their frays, submit their battles for brawls, and give an overview of past brawl results.
1. Automated Messages
To remind players that the Brawl will soon end or that there are still empty frays to fill, the bot will send the following automated messages to the channel:
Per default, the bot checks 12, 4, and 1 hour before a Brawl starts if all frays are filled. If that is not the case it will send a message, that looks like this:
It will let everyone know which Frays still need to be filled. If all Frays are filled, the bot won't send a message. When the bot checks for the Fray assignments can be changed by using the $set_fray_alert command.
Per default, the bot checks 12, 4, and 1 hour before a Brawl ends if all members have submitted their teams. If that is not the case it will ping the respective members (if their account is linked otherwise it will just send the Splinterlands username). The message will look something like this:
If everyone submitted their teams, the bot won't send a message. When the bot checks whose team still needs to be submitted can be changed by using the $set_battle_alert command.
After a new Brawl has started the bot will automatically send a message with the previous Brawl results, looking like this:
The previous results can also be viewed by using the $last_brawl_results command
To change when the bot checks for the fray assignments. If you want to disable these automated messages, set the time to -1. You can use as many alerts as you want, but more than 3 is probably unnecessary.
- Use $set_fray_alert <hours_till_brawl_starts>
- e.g. $set_fray_alert 10 5
- Fray assignments will be checked 10 hours and 5 hours before a brawl starts
To change when the bot checks if everyone submitted their teams. If you want to disable these automated messages, set the time to -1. You can use as many alerts as you want, but more than 3 is probably unnecessary.
- Use $set_battle_alert <hours_till_brawl_ends>
- e.g. $set_battle_alert 12 2
- Players that still need to submit teams will be checked 12 and 2 hours before the Brawl ends
Shows the results of up to 10 previous Brawls. This command is pretty heavy on the API. If it gets abused it will be disabled. If no number is specified it shows the result of the previous brawl
- Use $last_brawl_results <number_of_last_brawls>
- e.g. $last_brawl_results 2
- The last 2 brawl results will be shown
1. Automated contribution reminder
The contribution reminder checks every 24 hours if all guild members have sent in their contributions. If the members are linked (using $add_member) they get pinged if they still need to send their contributions. It looks like this:
The table is divided into the following columns:
- Contributions: Contributions sent from the player to the contribution account
- Additions: Positive manual contributions
- Fees: Negative manual contributions
- Expected: Expected amount of contributions (weeks x contribution_amount + fees)
- Missing: Missing contributions
Updates contribution starting from the specified date. The old contribution amount will be saved and included in the calculation when listing the total contribution of all members
- Use $update_contributions <amount><start_date (YYYY-mm-dd)>
- e.g. $update_contributions 300 2022-03-08
Lists all the contributions from active guild members since a certain date. If no date is specified it shows the contributions since the last time the contributions were updated.
- Use $list_contributions <since_date (YYYY-mm-dd)>
- e.g. $list_contributions 2022-05-01
Shows the player's contribution since the last time the contributions were updated.
- Use $list_contributions_player <username>
- e.g. $list_contributions_player giemo
You can add contributions manually to a player. There may be a variety of reasons to do this: Contribution to buildings, Missing Brawls, Outstanding Performance, etc.
When entering a manual contribution, make sure to add a reason in quotes ("...")
- Use $manual_contribution <username> <type> <reason>
- e.g. $manual_contribution giemo addition1000 "Contributed to Guild Hall"
- Adds 1000 to the Additions column
The manual contributions are automatically added to the contribution calculation (both for the automated and the $list_contributions command)
To see the manual contribution that was added to a player (and by whom).
- Use $list_contributions_player <username>
Sends a formatted csv file of all contributions that were done to the contributions account (disregarding if the players are members of the guild).
Bot malfunctions - What to do?
If you think the bot malfunctions, follow these steps:
- Read here if it is indeed malfunctioning
- If it's a command that doesn't work -> Message Giemo#5897 on Discord
- If it's an automated message that doesn't work -> Message Giemo#5897 on Discord
- If the bot starts spamming messages -> Message Giemo#5897 on Discord and remove the bots messaging rights: