Skip to content

Instantly share code, notes, and snippets.

@FlooferLand
Last active June 11, 2023 10:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save FlooferLand/e5ecf4548b4724d46467179fe05e9787 to your computer and use it in GitHub Desktop.
Save FlooferLand/e5ecf4548b4724d46467179fe05e9787 to your computer and use it in GitHub Desktop.
Discord Party Mode achievement-beating script
#########################################################################################
# --- Read me --- #
#########################################################################################
# Scuffed Python script in order to beat the Party Mode achievements in Discord #
# - In order to run it: #
# 1. Install Python 3 #
# 2. Install the `pyautogui` and `pydirectinput` Python PIP modules (pip install ...) #
# 3. Open a terminal in the directory where #
# the script is, and run `python discord_party_mode.py` #
# (or `python3 discord_party_mode.py` if you're on Linux/macOS) #
#########################################################################################
import pydirectinput as pdi
import pyautogui as pyg
from time import sleep
# Disabling pause delay
pdi.PAUSE = 0
# Functions
def type_letter():
pdi.press('l', interval=0, _pause=0)
def fill_combo():
print("Getting the combo up..")
for i in range(8):
char_count = 0
pdi.typewrite("combo-")
while char_count <= 20:
type_letter()
sleep(0.005)
char_count += 1
pdi.press("enter")
sleep(0.6)
def type_x_letters(x, reset_combo=True):
print(f"- Typing \"{x}\" letters..{' [combo-reset]' if reset_combo else ''}")
count = 0
while count < x:
type_letter()
sleep(0.0125)
count += 1
sleep(0.001)
pdi.press("enter")
sleep(0.01)
if reset_combo:
sleep(4)
def countdown():
for i in range(3):
print(f"Starting in {i + 1}..")
sleep(1)
# Instructions
print("""
Welcome!
First, open Discord, and open your Discord alt account's DM, make a private server, or use a server's #spam channel (if those are still a thing)
Then press enter in this dialogue box to continue. The program will then count up to 3 and start itself.
While the counter is going, quickly select the Discord input textbox.
You can stop the program any time by holding your mouse in any of the corners of your monitor.
Once the program finished, it will open up your start menu and type in a message in order to show you that it's done.
- I've only tested this script on my own machine, so if anything breaks it's your responsibility (tho nothing should break as long as you follow the instructions).
- Press [enter] if you've read all of this and choose to continue.
""".strip())
input()
# Startup countdown
countdown()
# Enabling combo auto-fill
fill_combo()
# Typing stuff
type_x_letters(64)
type_x_letters(88)
type_x_letters(99)
type_x_letters(113)
type_x_letters(430)
type_x_letters(555)
type_x_letters(898)
type_x_letters(1337)
type_x_letters(2048) # Nitro needed for this one
# - The "Click for your free prize" achievement
print("You'll now be doing the \"Click for your free prize\" achievement.")
print("This means switching between the \"Party Mode\" button in the settings, and another button, 100 times.")
print("You'll need to modify the code very slightly for this to work (line 91 and 92), since the button positioning on my screen isn't the same as on your screen.")
yes = input("\nType \"ok boomer\" to continue, or type anything else to cancel and quit.\n> ")
if yes.lower() != "ok boomer":
print("\nno u *disappears into the abyss*")
quit(-1)
countdown()
# You can use `pydirectinput.position()` in the IDLE to check where the `party` and `other` buttons are,
# then you can paste in the coords
party_button = (434, 133)
other_button = (434, 192)
for i in range(101):
print(f"- Clicking for your free prize.. [{i}/100]")
pdi.click(*party_button)
sleep(0.15)
pdi.click(*other_button)
sleep(0.15)
# The funny
sleep(0.2)
pyg.hotkey("win")
sleep(0.1)
pyg.write("Among Us Funny (morse code for \"Discord Party Mode script finished\")", interval=0.03)
print("Done!")
quit(0)
@VoxLight
Copy link

Line 85, Nitro is not necessary. You can use Ctrl + a and continue typing to erase part of the message, but keep the score.

@FlooferLand
Copy link
Author

Line 85, Nitro is not necessary. You can use Ctrl + a and continue typing to erase part of the message, but keep the score.

Oh ye, good idea! Haven't thought about that.
I won't implement that however, since this project is quite dead as party mode was removed.

@galaxine-senpai
Copy link

Party mode exists once more

@FlooferLand
Copy link
Author

I realized, though I'm not sure how to enable it again xD

@galaxine-senpai
Copy link

Hover your mouse over the booster icon on a server boost message and when wumpus appears wait for his leaf to fall then when it falls click it. It takes a bit to actually enable

@FlooferLand
Copy link
Author

If only i was able to find any boost messages anywhere xD

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