Greasy Fork is available in English.

Auto Rejoin

Automatically attempts to rejoin when the room is full.

// ==UserScript==
// @name         Auto Rejoin
// @namespace    https://greasyfork.org/users/945115
// @version      0.4
// @license      GPL-3.0
// @description  Automatically attempts to rejoin when the room is full.
// @author       left paren
// @match        https://bonk.io/gameframe-release.html
// @run-at       document-end
// @grant        none
// ==/UserScript==

var target = document.getElementById("sm_connectingWindow_text")

let roompass = ""

var observer = new MutationObserver(function(mutations) {
    if (/room_full|no_client_entry/.test(target.innerText)) {
        roompass = document.getElementById("roomlistjoinpasswordtext").value
        setTimeout(()=>{
            document.getElementById("sm_connectingWindowCancelButton").click()
            setTimeout(()=>{
                document.getElementById("roomlistjoinbutton").click()
                setTimeout(()=>{
                    if (document.getElementById("roomlistjoinpasswordwindowcontainer").style.visibility == "visible") {
                        document.getElementById("roomlistjoinpasswordtext").value = roompass
                        setTimeout(()=>{document.getElementById("roomlistpassjoinbutton").click()}, 100)
                    }
                }, 1)
            }, 1)
        }, 1)
    }
});

observer.observe(target, {
    attributes:    true,
    childList:     true,
    characterData: true
});