Skip to main content

Global Admin Handbook

Notice

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

CommandDescription
!updatePulls 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 lsLists all enabled plugins on HepBoat.
!status live [twitch_channel]Set HepBoat status to "Streaming (Twitch URL)"
!status resetSet HepBoat status to "Watching All the things"
!status {action} {status}Set HepBoat status to "(action) (status)"
!gatewaybtwSet HepBoat status to "Watching Gateway Issues"
!recovery-activeSets HepBoat status to "Watching Recovery Job Active - Expect Slowness"
!primeSet HepBoat status to "Watching http://hepboat.imjake.me"
!startupTrigger HepBoat startup sequence statuses.
!frestartRestart HepBoat.
!throwThrows an internal exception.
!logging {level} or !log {level}Sets the logging level to the given level.
!control reconnectReconnects gateway connection.

Whitelisting

CommandDescription
!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 whitelistsLists 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

OptionDescription
MODLOG_CUSTOM_FORMATAllows the modlog custom format
MUSICDoes nothing
PREMIUMShould Not Be Used And Has Been Migrated To Redis

Grants and Requirements

CommandDescription
!premium {guild_id}Grants the premium_guilds value in RDB.
!badge {user} {badge}Toggles the given badge for the given user.
!show premiumLists 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

CommandDescription
!control sync-bansSyncs 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 featuresManually 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 usersSyncs all cached users in the state with the users table.

Importing

CommandDescription
!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

CommandDescription
!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 errorsShows 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 usageShows 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-countCounts 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-infsDisplays 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.

BadgeBadge SlugDescription Of TagGrant TypeHow To Get
HepBoat Global AdministratorN/ABot Global AdminRDBBe Global Admin
HepBoat DeveloperdevProgrammer for HepBoatCommandDevelop for HepBoat
HepBoat Server AdministratorN/AServer Admin For Team HydraRoleBecome Server Admin
HepBoat Server ModeratorN/AServer Mod For Team HydraRoleApply and become Server Mod
HepBoat Support Godsupportt4The Highest Support Role For The EliteCommandDedicate Your Life To The Boat
HepBoat Support Teamsupportt3First Tier Support Team StaffCommandPart Of The Support Role
DonordonorDisplay Tag / Anyone Who Gives $CommandDonate any amount of money
SponsorsponsorTop Tier Supporter RoleCommandDonate $100+
Supporter Tier 5donor5Tier 5 SupporterCommandDonate $80 - $100
Supporter Tier 4donor4Tier 4 SupporterCommandDonate $60 - $80
Supporter Tier 3donor3Tier 3 SupporterCommandDonate $40 - $60
Supporter Tier 2donor2Tier 2 SupporterCommandDonate $20 - $40
Supporter Tier 1donor1Tier 1 SupporterCommandDonate $10 - $20
HepBoat Volunteer Helpersupportt2For Helpful VolunteersCommandAfter being a guru for a while
HepBoat Volunteer Gurusupportt1When a user helps and knows the boatCommandKnowing enough about the boat
r/DiscordApp Official Reddit ModredditFor r/DiscordApp Reddit Mods ONLYCommandBecome a Reddit Mod?
HepBoat Design TeamN/AArtists for Team Hydra BotsRoleMake art for our bots
Team Hydra Nitro BoosterN/AGranted when someone boosts serverRoleNitro Boost Team Hydra
Team Hydra PartnerN/AZira PartnersRoleBecome a Zira / TH Partner
Zira PremiumN/AZira Premium UserRoleBuy Zira Premium
HepBoat Server OwnerN/AOwns a HepBoat run serverRDBOwn a HepBoat run server
HepBoat UserN/ARole for being in a HepBoat ConfigRDBBe part of a HepBoat Server
HepBoat TesterN/ABeing in a part of a HBB test guildRDBBe part of a test server config