Global Admin Handbook
This page will show commands and functionality that is meant only for developers or global admins.
There is some functionality you have to enable via command line, such as adding a global admin or other harmful commands. These are completely reserved to JakeyPrime#0001
, and you can safely ignore these. This is only for Global Admins and will serve as a handbook.
Commands
HepBoat
Command | Description |
---|---|
!update | Pulls from git and triggers a reload of changed plugins except for core and modlog plugins, and other model/util files. |
!eval {codeblock} | Runs an evaluation on the bot with the given codeblock. |
!sql {codeblock} | Runs the given SQL query on the bot. |
!plugins enable {plugin} | Enables the given plugin on HepBoat. |
!plugins disable {plugin} | Disables the given plugin on HepBoat. |
!plugins reload {plugin} | Reloads the given plugin on HepBoat. |
!plugins list OR !plugins ls | Lists all enabled plugins on HepBoat. |
!status live [twitch_channel] | Set HepBoat status to "Streaming (Twitch URL)" |
!status reset | Set HepBoat status to "Watching All the things" |
!status {action} {status} | Set HepBoat status to "(action) (status)" |
!gatewaybtw | Set HepBoat status to "Watching Gateway Issues" |
!recovery-active | Sets HepBoat status to "Watching Recovery Job Active - Expect Slowness" |
!prime | Set HepBoat status to "Watching http://hepboat.imjake.me" |
!startup | Trigger HepBoat startup sequence statuses. |
!frestart | Restart HepBoat. |
!throw | Throws an internal exception. |
!logging {level} or !log {level} | Sets the logging level to the given level. |
!control reconnect | Reconnects gateway connection. |
Whitelisting
Command | Description |
---|---|
!wh-dm hb-accept {user} {guild_id} | Sends a HepBoat whitelist accepted DM to the given user for the given guild. |
!wh-dm hb-deny {user} {guild_id} | Sends a HepBoat whitelist denied DM to the given user for the given guild. |
!wh-dm test-accept {user} {guild_id} | Sends a HepBoat whitelist accepted DM to the given user for the given test guild. |
!wh-dm test-deny {user} {guild_id} | Sends a HepBoat whitelist denied DM to the given user for the given test guild. |
!guilds wh {guild_id} | Adds guild to whitelist. NOTE: Whitelisting is temporary. If the user does not add and set up bot quickly enough, they may need to be whitelisted again. Contact JakeyPrime#0001 . |
!guilds unwh {guild_id} | Removes guild from whitelist. NOTE: This will not kick the bot. It will simply not allow them to add the bot in case of mistake or if they haven't invited yet. |
!wh-dm rg-accept {user} {guild_id} | Sends a Rawgoat whitelist accepted DM to the given user for the given guild. |
!wh-dm rg-deny {user} {guild_id} | Sends a Rawgoat whitelist denied DM to the given user for the given guild. |
!show whitelists | Lists all the current guilds waiting for whitelisted setup. |
Add or Remove Guild Flags
!guilds wh-add GUILD_ID FLAG
!guilds wh-rmv GUILD_ID FLAG
Valid Guild Flags
Option | Description |
---|---|
MODLOG_CUSTOM_FORMAT | Allows the modlog custom format |
MUSIC | Does nothing |
PREMIUM | Should Not Be Used And Has Been Migrated To Redis |
Grants and Requirements
Command | Description |
---|---|
!premium {guild_id} | Grants the premium_guilds value in RDB. |
!badge {user} {badge} | Toggles the given badge for the given user. |
!show premium | Lists all the current guilds with premium status. |
!check req {guild_id} | Checks if guilds have the minimum 250 member count. |
!check membership {guild_id} | Checks if guilds have a user in the support guild. |
Syncing
Command | Description |
---|---|
!control sync-bans | Syncs bans across all the guilds. |
!backfill guild {guild} | Backfill messages from all accessible channels into the database. |
!backfill channel {channel_id} | Backfill all message in the given channel into the database. |
!backfill message {channel_id} {msg_id} | Backfill the given message in the given channel into the database. |
!backfill reactions {msg_id} | Backfill reactions on the given message into the database. |
!backfill inf-users [limit] | Backfill users in the infractions table that don't have corresponding entries in the users table. Default limit is 10. |
!recover global {duration} [pool_count] | Runs a recovery on all channels in HepBoat using the given number of pool threads. Default pool_count is 4. |
!recover here {duration} [pool_count] | Runs a recovery on all channels in the current guild using the given number of pool threads. Default pool_count is 4. |
!recover whitelists {channel} [size] | Scans size number of messages in a plain-text command modlog channel for guild whitelist commands. |
!sync features | Manually sync the guild features of all guilds in HepBoat in the guild database. |
!sync infs {guild_id} | Fixes expired infractions in the infractions database if they cannot be acted on due to missing permissions or data. |
!sync users | Syncs all cached users in the state with the users table. |
Importing
Command | Description |
---|---|
!alevel import {itype} {guild_id} [index] | Import points from other bots into db. |
!inf import {attachment} | Imports the given .json attachment into the infractions database. |
Miscellaneous
Command | Description |
---|---|
!channel {channel_id} | Get info about a channel. |
!gatop {guild_id} [index] | Get users from given guild with top autolevel points. |
!force setup {guild_id} | Force setup the given guild. |
!dm {user} {message} | DM a given user a given message. |
!dm_warn {user} {reason} | Forces a warning in the guild on the user even if the user is not a member. |
!source {command} | Return a link to gitlab where the command is defined. NOTE: only works for single word commands. |
!guilds invite {guild_id} | Generates an invite code to the given guild. |
!override [duration] ["in" guild_id] | Allow GA override in the calling guild for the given duration. Use the "in (guild_id)" suffix if enabling remotely. |
!adv info [user] | Search for any user in any guild. |
!adv inf search {query} [-g guild_id] | Run a global inf search. |
!adv inf info {inf_id} | Get info about the given infraction ID. |
!adv inf clearall {user_id} | Globally clears all infractions (except for notes and tempmutes) for a given user. |
!adv webconfig show {guild_id} | Lists the users in the web section of the given guild configuration. |
!commands errors | Shows the latest 10 command errors. |
!commands info {msg_id} | Shows the command details that was ran in the given message ID. |
!commands stats {name} | Shows the total count and error count of a given command name. |
!commands usage | Shows the usage count of the top 25 commands. |
!events add {name} | Adds the given name to the list of tracked events. |
!events remove {name} | Removes the given name from the list of tracked events. |
!inf-users-count | Counts the number of users in the infractions table that don't have corresponding entires in the users table. |
!words usage {word} [unit] [amount] | Counts the number of times a word was used over amount of unit . e.g. !words usage bunny days 7 |
!words top {target} | Shows the top words used by the target user/channel/guild. |
!expired-infs | Displays all the expired infractions that should be cleared in the queue. |
Knighting Global Admins
This will fire in both Postgres and RDB for adding, but not removing. Must be done via command line.
Adding
./manage.py add-global-admin ID
Removing
You will have to manually wipe the key from redis (can probably add this functionality as another command in manage.py) Set 'admin' to false in Postgres for said user.
Badges
The badge command can be used to toggle the give badge. If someone already has the badge and you run this command, it will take it away.
!badge USER_ID BADGE_ID
Badge Descriptions
Badges should only be given out by JakeyPrime, or automatically. If you feel someone deserves a badge, you may ask and be given permission to add said badge as soon as possible.
These are in ascending order based on what label they would appear under, etc.
Badge | Badge Slug | Description Of Tag | Grant Type | How To Get |
---|---|---|---|---|
HepBoat Global Administrator | N/A | Bot Global Admin | RDB | Be Global Admin |
HepBoat Developer | dev | Programmer for HepBoat | Command | Develop for HepBoat |
HepBoat Server Administrator | N/A | Server Admin For Team Hydra | Role | Become Server Admin |
HepBoat Server Moderator | N/A | Server Mod For Team Hydra | Role | Apply and become Server Mod |
HepBoat Support God | supportt4 | The Highest Support Role For The Elite | Command | Dedicate Your Life To The Boat |
HepBoat Support Team | supportt3 | First Tier Support Team Staff | Command | Part Of The Support Role |
Donor | donor | Display Tag / Anyone Who Gives $ | Command | Donate any amount of money |
Sponsor | sponsor | Top Tier Supporter Role | Command | Donate $100+ |
Supporter Tier 5 | donor5 | Tier 5 Supporter | Command | Donate $80 - $100 |
Supporter Tier 4 | donor4 | Tier 4 Supporter | Command | Donate $60 - $80 |
Supporter Tier 3 | donor3 | Tier 3 Supporter | Command | Donate $40 - $60 |
Supporter Tier 2 | donor2 | Tier 2 Supporter | Command | Donate $20 - $40 |
Supporter Tier 1 | donor1 | Tier 1 Supporter | Command | Donate $10 - $20 |
HepBoat Volunteer Helper | supportt2 | For Helpful Volunteers | Command | After being a guru for a while |
HepBoat Volunteer Guru | supportt1 | When a user helps and knows the boat | Command | Knowing enough about the boat |
r/DiscordApp Official Reddit Mod | For r/DiscordApp Reddit Mods ONLY | Command | Become a Reddit Mod? | |
HepBoat Design Team | N/A | Artists for Team Hydra Bots | Role | Make art for our bots |
Team Hydra Nitro Booster | N/A | Granted when someone boosts server | Role | Nitro Boost Team Hydra |
Team Hydra Partner | N/A | Zira Partners | Role | Become a Zira / TH Partner |
Zira Premium | N/A | Zira Premium User | Role | Buy Zira Premium |
HepBoat Server Owner | N/A | Owns a HepBoat run server | RDB | Own a HepBoat run server |
HepBoat User | N/A | Role for being in a HepBoat Config | RDB | Be part of a HepBoat Server |
HepBoat Tester | N/A | Being in a part of a HBB test guild | RDB | Be part of a test server config |