# hh2 extension docs forked from [Cynosphere's docs](https://hackmd.io/@cynosphere/BkQyvPAoV?type=view) ## antiDelete Ignores message deletes clientside and shows them with red text. ## backoffNerf Greatly reduces the timing of the client's exponential backoff. ## blocked Hide blocked messages. ## browsercss Version of `css` for browser versions of hh2. ## browserdev Allows importing of arbitrary JS extensions in the browser. Don't enable unless you are actually testing something. ## callRingingBeat Makes call ring always the rare variant. ## channelleak Shows channels and their topics that you don't have permissions to view. ## charcount Adds a character counter to the message input box. ## chromeExtension Allows for loading of Devtools extensions in the Electron client ### Options Values | key | type | description | | -------- | -------- | -------- | | `extension` | object | Object in extensions array | | `extension.name` | string | Name of extension | | `extension.path` | string | Path to extension | ## cmder Command adding framework. ## colorchat Allows basic bbcode-style formatting to color messages. ## commands A set of basic commands serving as functional examples of cmder. ## css Loads in custom CSS or Sass files. ### Options Values | key | type | description | | -------- | -------- | -------- | | `cssPath` | array or string | Path(s) to (s)css file(s) | ## customRinging Replace most sounds with custom files. ### Options Values | key | note | | -------- | -------- | | `call_calling` | | | `call_ringing` | | | `call_ringing_beat` | | | `ddr-down` | | | `ddr-left` | | | `ddr-right` | | | `ddr-up` | | | `deafen` | | | `discodo` | home button easter egg | | `disconnect` | | | `human_man` | | | `mention1` | unused | | `mention2` | unused | | `mention3` | unused | | `message1` | | | `message2` | unused | | `message3` | unused | | `mute` | | | `overlayunlock` | | | `ptt_start` | | | `ptt_stop` | | | `reconnect` | | | `robot_man` | | | `stream_ended` | | | `stream_started` | | | `stream_user_joined` | | | `stream_user_left` | | | `undeafen` | | | `unmute` | | | `user_join` | | | `user_leave` | | | `user_moved` | | ## customsearch Replaces "Search with Google" to a custom search engine. ### Options Values | key | type | description | | -------- | -------- | -------- | | `searchURL` | string | URL to append search query on. | | `searchName` | string | Name of search engine. | ## dblClickEdit Allows you to edit a message by double-clicking. ## dnt **Deprecated & outdated. Use pseudoscience instead!** Disables tracking calls on /api/science. ## dolphin Allows any drag and drop transactions, regardless of the type. ## downmark Fixes emoji in uesrnames and other places. ## easyAutomation A library dealing with messages, guilds and channels. Not well supported. ## emojiCommands Adds commands via Cmder to type letters in custom emoji. ## emojiGuildName Adds guild name to which an emoji belongs on hover in search. ## exec Adds child_process.exec as a dedicated command via cmder. ## experiments Trips isDeveloper to enable developer experiments. Use at your own risk. ## extender Framework for adding on to user settings. ## fakeEpapi **"Deprecated". Just write normal plugins.** Mocks the Endpwn API for legacy plugins. Don't use this. Please. ## fixCopyMessageLink orces 'Copy Message Link' to use `discordapp.com` instead of the current origin (Useful for hh2 in the browser). ## fixmentions Resolves mentions for channels and users you don't know. ## glslbg Adds support for GLSL shaders as backgrounds. ### Options Values | key | type | description | | -------- | -------- | -------- | | `shaderFile` | string | Path to a .frag file | ## guildColumns Fixes mention bar on CSS themes with multiple guild columns. ### Options Values | key | type | description | | -------- | -------- | -------- | | `columnCount` | int | How many columns should it calculate for | ## guildCount Shows count of guilds next to the (now non-existant) friend count. ### Options Values | key | type | description | | -------- | -------- | -------- | | `shortened` | boolean | Show only numbers instead of "# Guilds" | ## guildFeatures Enable partnered guild UI on guilds you own. Possibly broken. ### Options Values | key | type | description | | -------- | -------- | -------- | | `allFeaturesOnOwnedGuilds` | boolean | Allows all guild features to be shown on guilds you own. | ## hashRouter Patches the router to use the fragment portion of the URL. ## imgtitle Adds title attribute with the filename to image attachments in chat. ## imgxis **Warning: this is somewhat hacky!** Adds the IMGXIS editor to image preview. ## inspect Isolates a Webpack module with a given ID for easier inspection. ## lacida OTR for Discord DMs, basically. Experimental. ## legacyVoiceRegions Show legacy voice regions. ## litecord Allows overriding GLOBAL_ENV props to allow for custom API endpoints to be specified. ### Options Values | key | type | description | | -------- | -------- | -------- | | `api` | string | Replaces API_ENDPOINT with a custom endpoint | | `webapp` | string | Replaces WEBAPP_ENDPOINT with a custom endpoint | | `cdn` | string | Replaces CDN_HOST with a custom endpoint (here you go BiSoga) | | `assets` | string | Replaces ASSET_ENDPOINT with a custom endpoint | | `widget` | string | Replaces WIDGET_ENDPOINT with a custom endpoint | | `invites` | string | Replaces INVITE_HOST with a custom endpoint | | `marketing` | string | Replaces MARKETING_ENDPOINT with a custom endpoint | | `channel` | string | Replaces RELEASE_CHANNEL with a custom endpoint | | `braintreeKey` | string | Replaces BRAINTREE_KEY with your own Braintree auth key | | `stripeKey` | string | Replaces MARKETING_ENDPOINT with your own Stripe auth key | | `giftDomain` | string | Replaces GIFT_CODE_HOST with a custom endpoint | Note: ## loadHooks Allows a module to wait for the load event to fire ## loadingReplace Replaces spinning Rainbow Dash with a configurable loading screen based on Minecraft Forge's. ### Options Values | key | type | description | | -------- | -------- | -------- | | `backgroundColor` | string | Changes loading screen background color. Must be a valid CSS color code. | | `font` | string | Changes font for loading screen text. Must be a valid CSS font. | | `borderColor` | string | Changes border color of the progress bar. Must be a valid CSS color code. | | `barBackground` | string | Changes the color of the empty parts of the progress bar. Must be a valid CSS color code. | | `barForeground` | string | Changes the color of the filled parts of the progress bar. Must be a valid CSS color code. | | `textColor` | string | Changes the color of the loading screen text. Must be a valid CSS color code. | | `logoURL` | string | Changes the logo that appears on screen. ## localStorage Prevent discord from deleting the localStorage variable. ## magicrequire Utility for selecting and loading arbitrary Webpack modules. ## maple Allows hybrid bot/user account usage (in channels where the bot with the given token is present, most actions will be performed by the bot user). ### Options Values | key | type | description | | -------- | -------- | -------- | | `botToken` | string | Token for the bot. | | `whitelistEndpoints` | array of strings | Endpoints told to fallback to user account. Recommended: search, mentions, spotify, @ws, ack, /users/@me ## memoryRouter Same as hashRouter but in memory instead. ## noconmsg Stubs out the pasting console warning. ## osu Makes osu! noises as you type. ## overlay **BIG WARNING! This could brick your client!** Enables overlay on all platforms. ## postnet An HH2 settings manager UI. Essentially this document but built into your client. ## preserveToken Keeps token in localStorage. ## pseudoscience Adds hard blocks for /api/science as a fallback for proper patches ## quickDelete Delete messages quickly by clicking on them while holding backspace, delete, or custom key(s). ### Options Values | key | type | description | | -------- | -------- | -------- | | `useShift` | boolean | Setting to specify whether you need to hold the shift key in order to delete a message. | | `additionalKeys` | array of strings | Array of strings that holds extra keys to use. Refer to [this app](https://mdn.mozillademos.org/en-US/docs/Web/API/KeyboardEvent/code$samples/Exercising_KeyboardEvent?revision=1559366) for specific codes. | ## react Exposes Discord's version of React ## requests **You should probably not be using this, especially within extensions!** Sends API requests. ## rootSetter Sets asset root for webpack, useful for running hh2 in the browser browser without a reverse proxy. ### Options Values | key | type | description | | -------- | -------- | -------- | | `root` | string | URL for the asset root. | ## scriptErrors Something is creating script errors ## sentrynerf **This should always be enabled! If it is not, turn on ASAP!** Disables Sentry.io error reporting. ## showTag Shows DiscordTag next to a user's nickname. ## smellovision Shows a meter next to users that changes with their supposed smelliness in group DM calls. ## spotifyspoof Listen along to Spotify songs without Spotify Premium. ## tardid Backs up Discord versions to allow quick and easy rollbacks. ## twemojiPatch Replaces builtin Twemoji with other emoji sets (mustd by default) ### Options Values | key | type | description | | -------- | -------- | -------- | | `pack` | string | Emoji set to use. Options: mustd, noto, noto-old | ## unravelMessage Allows the user to copy raw message content via the context menu. ## webpackIntercept Allows extensions to intercept Flux events.