Skip to content

Instantly share code, notes, and snippets.

@MPThLee
Last active October 4, 2026 13:33
Show Gist options
  • Select an option

  • Save MPThLee/3ccb554b9d882abc6313330e38e5dfaa to your computer and use it in GitHub Desktop.

Select an option

Save MPThLee/3ccb554b9d882abc6313330e38e5dfaa to your computer and use it in GitHub Desktop.
This code doesn't work anymore. I just decided to remove this code. You can check working code on comments.
/**
* !!!! This code doesn't work anymore !!!!
*
* - You can check working code on comments. I won't update this code anymore.
*
* Also, I just decided to remove this code. You can check revisions for old code.
* Since this code was made for discord client that almost 5 years ago, It seems like doesn't work anymore.
* I don't want people keep arguing in the comments, i decided to remove this code.
*
* Note: This code is now fulfilled with Javascript comments. This code won't work even if you pasted to console. doesn't do anything.
* Reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#comments
**/
// Older gist description: Enable Discord Developer Menus in any environment except mobile app without BetterDiscord using Console.
@Kamiikaze

Copy link
Copy Markdown
  • changed e.c!=undefined to e.b!=undefined
webpackChunkdiscord_app.push([[Math.random()], {}, (e) => { if(e.b!=undefined){module = Object.values(e.c).find(x => x?.exports?.default?.getUsers && x.exports.default._dispatcher._actionHandlers).exports.default;} }]);
nodes = Object.values(module._dispatcher._actionHandlers._dependencyGraph.nodes);
try { nodes.find(x => x.name == "ExperimentStore").actionHandler["OVERLAY_INITIALIZE"]({ user: { flags: 1 } }); } catch (e) { }
original = [module.getCurrentUser, module.getNonImpersonatedCurrentUser];
module.getCurrentUser = module.getNonImpersonatedCurrentUser = () => ({ isStaff: () => true });
nodes.find(x => x.name == "DeveloperExperimentStore").actionHandler["OVERLAY_INITIALIZE"]();
[module.getCurrentUser, module.getNonImpersonatedCurrentUser] = original;

Thanks! Working as of 2025-12-03

@sismankosmas-dev

Copy link
Copy Markdown
εικόνα_2025-12-14_203836461 this problem pops up

@acendvgnt

Copy link
Copy Markdown

this problem pops up

@sismankosmas-dev That means it worked. You should now see the Experiments section in your User Settings.

@Qwerty-Space

Qwerty-Space commented Feb 27, 2026 •

Copy link
Copy Markdown

I can see experiments, but enabling the favourites server doesn't work. I have the option of variant 1 and variant 2, but neither work.

Underneath the favourites server option it says "Warning: Server did not send any experiment config. You may need to check the "Send to Client" box in the admin UI.

Any ideas?

@Johnnycyan

Copy link
Copy Markdown

I can see experiments, but enabling the favourites server doesn't work. I have the option of variant 1 and variant 2, but neither work.

Underneath the favourites server option it says "Warning: Server did not send any experiment config. You may need to check the "Send to Client" box in the admin UI.

Any ideas?

I actually just found out that apparently they worked on it more and made it nitro only. You can still access it by going to https://discord.com/channels/@favorites though but the button in the channel list is gone.

@Qwerty-Space

Qwerty-Space commented Mar 2, 2026 •

Copy link
Copy Markdown

@Johnnycyan it doesn't appear in the server list even with nitro

Thanks for that link though, it works with and without nitro!

@Johnnycyan

Copy link
Copy Markdown

@Johnnycyan it doesn't appear in the server list even with nitro

Thanks for that link though, it works with and without nitro!

Yeah I noticed it works without Nitro currently. I believe it's intended to be Nitro only though. Was just passing some info from the Discord Previews server. I created a local equicord plugin to add a favorites button back to the server list as well which you can get here if you want. You have to set up local plugins though https://drive.google.com/file/d/1I15apQxxkuLwFUPRLBikEmLD6KwrlGM1/view?usp=sharing

@Johnnycyan

Copy link
Copy Markdown

it's also apparently going to be added to FakeNitro as well Vendicated/Vencord#4019

@mosts

mosts commented Mar 21, 2026

Copy link
Copy Markdown

appears to be patched

@MonfGeiger

Copy link
Copy Markdown

??????? what the word-vomit?

@acendvgnt

Copy link
Copy Markdown

Newly created account and already posting token grabbers is crazy work

@hironichu

Copy link
Copy Markdown

Thank Claude for this:

{
  var wpR = [];
  webpackChunkdiscord_app.push([[Symbol()], {}, function(r) { wpR.push(r); }]);
  webpackChunkdiscord_app.pop();

  var r = wpR[0]; // Discord runtime (not Sentry)
  var UserStore = r(287809).default;
  var user = UserStore.getCurrentUser();
  var nodes = Object.values(UserStore._dispatcher._actionHandlers._dependencyGraph.nodes);

  user.flags |= 1;
  nodes.find(x => x.name === "DeveloperExperimentStore")?.actionHandler?.CONNECTION_OPEN?.();

  var expStore = nodes.find(x => x.name === "ExperimentStore");
  try {
    expStore.actionHandler.CONNECTION_OPEN({ type: "CONNECTION_OPEN", user: { flags: 1 }, experiments: [] });
  } catch {
    try { expStore.actionHandler.OVERLAY_INITIALIZE({ user: { flags: 1 } }); } catch(e) {}
  }

  expStore?.storeDidChange?.();
  user.flags &= ~1;
  console.log("Done — open Settings → Experiments");
}

This should work, follow me and have fun ;)

@Alluseri

Copy link
Copy Markdown
  • changed e.c!=undefined to e.b!=undefined
webpackChunkdiscord_app.push([[Math.random()], {}, (e) => { if(e.b!=undefined){module = Object.values(e.c).find(x => x?.exports?.default?.getUsers && x.exports.default._dispatcher._actionHandlers).exports.default;} }]);
nodes = Object.values(module._dispatcher._actionHandlers._dependencyGraph.nodes);
try { nodes.find(x => x.name == "ExperimentStore").actionHandler["OVERLAY_INITIALIZE"]({ user: { flags: 1 } }); } catch (e) { }
original = [module.getCurrentUser, module.getNonImpersonatedCurrentUser];
module.getCurrentUser = module.getNonImpersonatedCurrentUser = () => ({ isStaff: () => true });
nodes.find(x => x.name == "DeveloperExperimentStore").actionHandler["OVERLAY_INITIALIZE"]();
[module.getCurrentUser, module.getNonImpersonatedCurrentUser] = original;

This is the one that actually worked, thank you @acendvgnt

@zpiboo

zpiboo commented Oct 4, 2026

Copy link
Copy Markdown
  • changed Object.values(module._dispatcher._actionHandlers._dependencyGraph.nodes) to module._dispatcher._actionHandlers._nodes.values()
webpackChunkdiscord_app.push([[Math.random()], {}, (e) => { if(e.b!=undefined){module = Object.values(e.c).find(x => x?.exports?.default?.getUsers && x.exports.default._dispatcher._actionHandlers).exports.default;} }]);
nodes = module._dispatcher._actionHandlers._nodes.values();
try { nodes.find(x => x.name == "ExperimentStore").actionHandler["OVERLAY_INITIALIZE"]({ user: { flags: 1 } }); } catch (e) { }
original = [module.getCurrentUser, module.getNonImpersonatedCurrentUser];
module.getCurrentUser = module.getNonImpersonatedCurrentUser = () => ({ isStaff: () => true });
nodes.find(x => x.name == "DeveloperExperimentStore").actionHandler["OVERLAY_INITIALIZE"]();
[module.getCurrentUser, module.getNonImpersonatedCurrentUser] = original;

(this is obviously based on @acendvgnt's last published snippet (here))

Also, I can't figure out what the OVERLAY_INITIALIZE call on the ExperimentStore is for, it seems to always fail. Why is it here?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment