Skip to main content
Retour aux guides

Automatic Bongo Cat Clicker (updated)

FornautFornaut
(69 ratings)
May 29, 2025 @ 1:25pm8,78843
AchievementsEnglish
Bro just have it open. It's not that deep
Script
But for real now
Bongo cat seems to detect auto clicker by looking for button depresses, so one can't use programs that employ press commands. Instead use button down and button up in quick succession. I have made a simple script for that in python that gets the job done and you can use to farm clicks. You can directly download the file from Github which is linked at the end of this guide or you can copy it from here.



import pydirectinput import win32gui import win32con import time import random import threading import keyboard import tkinter as tk from tkinter import font as tkfont pydirectinput.PAUSE = 0 # ── CONFIG ────────────────────────────────────────────────────────────────── WINDOW_TITLE = "BongoCat" # adjust if title differs in your language TOGGLE_KEY = "p" INTERVAL_MIN = 0.02 INTERVAL_MAX = 0.03 HOLD_MIN = 0.03 HOLD_MAX = 0.04 DEBOUNCE = 0.4 KEYS = [ 'a','b','c','d','e','g','h','i','j','k','l','m', 'n','o','q','r','s','t','u','v','w','x','y','z', '0','1','2','3','4','5','6','7','8','9', ] # ──────────────────────────────────────────────────────────────────────────── running = False lock = threading.Lock() _last_toggle = 0.0 status_label = None btn_toggle = None root = None def find_and_focus(): hwnd = win32gui.FindWindow(None, WINDOW_TITLE) if hwnd and win32gui.IsWindow(hwnd): win32gui.ShowWindow(hwnd, win32con.SW_RESTORE) win32gui.SetForegroundWindow(hwnd) return True return False def press_key(key): try: pydirectinput.keyDown(key) time.sleep(random.uniform(HOLD_MIN, HOLD_MAX)) pydirectinput.keyUp(key) except Exception as e: print(f"[press] Error on '{key}': {e}") def auto_press_loop(): global running last_focus = 0.0 while True: with lock: is_running = running if not is_running: time.sleep(0.05) continue # refocus Bongo Cat every 10 seconds so the GUI never steals focus now = time.time() if now - last_focus > 10.0: find_and_focus() last_focus = now try: press_key(random.choice(KEYS)) except Exception as e: print(f"[loop] Error: {e}") time.sleep(random.uniform(INTERVAL_MIN, INTERVAL_MAX)) def set_status(text, color): if status_label and root: root.after(0, lambda: status_label.config(text=text, fg=color)) def toggle_running(): global running, _last_toggle now = time.time() if now - _last_toggle < DEBOUNCE: return _last_toggle = now with lock: running = not running state = running if state: if not find_and_focus(): set_status("Window not found", "#ffaa00") with lock: running = False return set_status("● Running", "#00ff88") btn_toggle.config(text="■ Stop P") else: set_status("● Stopped", "#ff4444") btn_toggle.config(text="▶ Start P") def on_hotkey(event): toggle_running() def on_close(): global running with lock: running = False root.destroy() def build_gui(): global root, status_label, btn_toggle root = tk.Tk() root.title("Bongo Cat Clicker") root.geometry("280x160") root.resizable(False, False) root.configure(bg="#1e1e2e") root.protocol("WM_DELETE_WINDOW", on_close) root.attributes('-topmost', True) root.attributes('-alpha', 0.95) f_title = tkfont.Font(family="Segoe UI", size=13, weight="bold") f_status = tkfont.Font(family="Segoe UI", size=11) f_btn = tkfont.Font(family="Segoe UI", size=10) f_hint = tkfont.Font(family="Segoe UI", size=8) tk.Label(root, text="Bongo Cat Clicker :3", font=f_title, bg="#1e1e2e", fg="#cdd6f4").pack(pady=(14, 2)) status_label = tk.Label(root, text="● Stopped", font=f_status, bg="#1e1e2e", fg="#ff4444") status_label.pack(pady=2) btn_toggle = tk.Button( root, text="▶ Start P", font=f_btn, bg="#313244", fg="#cdd6f4", activebackground="#45475a", relief="flat", padx=12, pady=6, cursor="hand2", command=toggle_running ) btn_toggle.pack(pady=10) tk.Label(root, text="Bongo Cat must be open to start", font=f_hint, bg="#1e1e2e", fg="#6c7086").pack() return root if __name__ == "__main__": keyboard.on_press_key(TOGGLE_KEY, on_hotkey) threading.Thread(target=auto_press_loop, daemon=True).start() root = build_gui() print("INFO P = Start/Stop | Close window to exit") root.mainloop()


Use this in VS code or any other python coding environment (I myself used Pycharm) and install all used library's:
  • pydirectinput
  • pywin32
  • keyboard

Installing libraries can be done trough the Command Prompt by running:
pip install Libraryname
like for example:
pip install pydirectinput
will install pydirectinput.
Otherwise the program will throw an ModuleNotFound error.

Or you can just simply download all at once:
pip install pydirectinput pywin32 keyboard

The program starts stopped and can be activated and stopped again by pressing P and closed by just simply closing the window.
The code just presses and depresses every available button in the Bongo Cat Tab that does not trigger a function.

In the first version, you had to make sure no text field was focused, because if one was, your whole PC would start to lag. This has been fixed in the new version keystrokes are now sent directly to the Bongo Cat window, where they don't affect anything else, so you can just start it without any worries

Feel free to improve the code in the comments :). Enjoy the lazy and fast 100% completion or just the automated clicks.


GitHub Link
Because of a good request from @Potoka I created a Github repository for future updates and improvements and you can even download it as a EXE if you don't have any expirience with Python or want to make your live easier!

Link to the Repository[github.com]

That would be all for now I hope you enjoy this new version ^^

Also many thanks to Nugorra for making this possible with the EXE file go check him out :)