Discord no longer provides the tags feature to new servers. This could change, so I'm keeping this active and seeking other ways to get a tag server. I still recommend trying create guilds within the specified hash ranges. Please support by starring this gist and joining our Discord (link below).
Also, selling a script for a fully customizable rotating clan tag. (colors and badge icon - join discord to buy)
Version: 1.2.5 (as per CONFIG.SCRIPT_VERSION
in the script)
Discord: https://discord.gg/wSWYhQMdbA | @ziue
Telegram: https://t.me/reveredev/
Wound: https://wound.lol
Star our other project too!:
https://github.com/RevereInc/alley-practice
Preview: https://www.youtube.com/watch?v=E1wusGbNnG4 - releasing this version with ratelimit bypass at 200 stars
A JavaScript tool designed to run in a Discord client's developer console environment (typically one enhanced by client modifications). It automates the creation and inspection of Discord guilds to find those whose server IDs, when combined with a specific salt and hashed using MurmurHash3, fall into predefined numerical ranges.
Found guilds that meet the criteria are kept (and logged); others are automatically deleted after a short delay.
- Use Responsibly: This script automates actions against the Discord API at a potentially high rate. Excessive use WILL lead to API rate-limiting for your account, and could potentially lead to other actions from Discord, including account suspension.
- Discord Terms of Service: Be aware that automating user actions might be against Discord's Terms of Service or API guidelines. You are solely responsible for how you use this script.
- No Guarantees: This script is provided as-is. There's no guarantee it will find what you're looking for, or that it will always work due to potential Discord client updates.
- Educational Purposes: This script is primarily intended for educational and research purposes to understand API interactions and hashing algorithms.
- Modded Discord Client Environment: This script requires a function named
findByProps
to be available in the global scope of the developer console. This function is typically provided by Discord client modifications like Vencord, BetterDiscord, or similar tools that expose Discord's internal Webpack modules. It will NOT work in a standard browser console ondiscord.com
or a vanilla Discord client. - Developer Console Access: You need to be able to open and use your Discord client's developer console (usually
Ctrl+Shift+I
orCmd+Opt+I
).
- Setup Vencord: Install the ConsoleShortcuts plugin from vencord
- Create a server: Manually create a discord server, template does not matter.
- Copy the Script: Copy the entire
discord-guild-tag-finder.js
code. - Open Discord Console: Open your Discord client and then open its developer console.
- Paste and Run Initialization:
- Paste the script into the console and press Enter. You'll see some initial loading messages.
- Then, type the following command to initialize the script and its required Discord modules:
GuildTagFinder.initialize();
- If initialization is successful, you'll see a confirmation message. If it fails, it will likely be due to
findByProps
not being available or Discord's internal modules having changed.
- (Optional) Enable Debug Mode: For more detailed logging output, you can enable debug mode:
To disable it:
GuildTagFinder.setDebugMode(true);
GuildTagFinder.setDebugMode(false);
- Start the Script:
The script will now begin creating guilds, checking their IDs, and logging its progress.
GuildTagFinder.start();
- Stop the Script: To stop the script at any time:
This will clear the creation interval and log a summary of attempts and finds.
GuildTagFinder.stop();
The script's behavior can be customized by modifying the CONFIG
object at the top of the script before running GuildTagFinder.initialize()
. Key configuration options include:
ATTEMPT_INTERVAL_MS
: The time (in milliseconds) between attempts to create a guild.- Important: Setting this too low will quickly lead to rate-limiting. Default is
6000
(6 seconds).
- Important: Setting this too low will quickly lead to rate-limiting. Default is
DELETE_DELAY_MS
: The delay (in milliseconds) before a non-target guild is deleted. Default is3000
(3 seconds).SERVER_NAME_PREFIX
: The prefix used for naming the guilds created by the script.HASH_SALT_PREFIX
: The salt string prefixed to the guild ID before hashing.- Changing this value will completely change the resulting hashes and thus the "tags" you are searching for.
HASH_MODULO
: The modulo value applied to the hash result. This determines the upper bound of the possible hash values (0 toHASH_MODULO - 1
).TARGET_HASH_RANGES
: An array of objects defining the desired hash ranges. Each object should havemin
andmax
properties.- Example:
[{ min: 10, max: 19 }, { min: 60, max: 99 }]
- Example:
GUILD_TEMPLATE
: The template object used for creating new guilds.LOGGER_OPTIONS.USE_TIMESTAMPS
: Set totrue
to include timestamps in log messages.LOGGER_OPTIONS.DEBUG_MODE
: Set totrue
for verbose debug logging (can also be toggled withGuildTagFinder.setDebugMode()
).
- Initialization (
GuildTagFinder.initialize()
): Uses the environment-providedfindByProps
function to locate Discord's internal functions for creating and deleting guilds. - Starting (
GuildTagFinder.start()
): Begins an interval timer. - Guild Creation Cycle:
- A new Discord guild (server) is created using a basic template.
- The unique ID of this new guild is retrieved.
- A string is constructed:
CONFIG.HASH_SALT_PREFIX + newGuild.id
. - This string is hashed using the
murmurhash3_32_gc
algorithm. - The hash result is taken modulo
CONFIG.HASH_MODULO
.
- Target Check:
- The resulting number is checked against the ranges defined in
CONFIG.TARGET_HASH_RANGES
. - If it matches a target range: The guild is logged as a "find" and is not deleted. The script continues searching.
- If it does not match: The guild is scheduled for deletion after
CONFIG.DELETE_DELAY_MS
.
- The resulting number is checked against the ranges defined in
- Loop: The process repeats every
CONFIG.ATTEMPT_INTERVAL_MS
untilGuildTagFinder.stop()
is called.
If you run into any issues while using this script, have questions, or would like to provide feedback, please consider the following:
-
Double-Check Prerequisites & Usage: Many common issues can be resolved by ensuring:
- You are using a modded Discord client environment where
findByProps
is available (e.g., Vencord, BetterDiscord). - You have correctly followed the How to Use steps, especially the
GuildTagFinder.initialize();
command beforeGuildTagFinder.start();
. - There are no obvious error messages in the developer console that indicate a problem with your Discord client or the script's initialization.
- You are using a modded Discord client environment where
-
Check for Script Updates: Ensure you are using the latest version of this script from the Gist, as updates may fix known bugs or adapt to Discord changes.
-
Reporting Issues:
-
For general questions, bug reports, or public discussion: The best way is to leave a comment directly on this Gist page. This allows others who might have the same issue to see the discussion and potential solutions. When reporting an issue, please try to include:
- The Script Version you are using (e.g.,
1.2.0
). - The Discord Client you are using (e.g., Vencord, BetterDiscord version).
- A clear description of the problem.
- Steps to reproduce the issue, if possible.
- Any relevant error messages shown in the console (screenshots can be helpful).
- The Script Version you are using (e.g.,
-
For direct contact or other inquiries: You can reach out to me on Discord:
ziue
or https://discord.gg/wSWYhQMdbA
-
Please remember that support is provided as time permits. Clear and detailed issue reports are much appreciated and will help in addressing the problem more effectively!
please help, it worked until the 25th attempt then an error
[ERROR] Attempt #27: An error occurred during guild creation or processing: Unknown message