automuteus

Discord Bot to automute Among Us players at round transitions, in conjunction with https://github.com/automuteus/amonguscapture

MIT License

Stars
945
Committers
57

Bot releases are hidden (Show)

automuteus - Pause command, better Heroku support, bug fixes

Published by denverquane about 4 years ago

  • New .au pause command; bot will ignore all player/game updates and not apply any mutes/unmutes, etc.

  • Fixed .au end still applying player/game updates erroneously

  • Fixed common issue with URL the bot sends not being encoded properly for the capture to understand.

  • Thanks to @theoddtech for the External Port config work (should make Heroku users' lives easier!) Use the External Port (details in readme) when the externally-reachable port might be different from the port that the bot is running the socket.io server on (such as in Heroku).

  • Thanks to @nzbr for work to make troubleshooting easier; .au new will now display the URL and Code that you can manually enter into the capture, in case the Link URI doesn't automatically link. Nzbr also added support for the capture to actually accept the 8-character codes, so thanks for that 😆

automuteus - 2.3.1 Multi-token support, better status messages

Published by denverquane about 4 years ago

  • Fixed the functionality of DISCORD_BOT_TOKEN_2. This now functions as expected, and will dramatically improve the speed and reliability at which users are muted/deafened in 7+ player games! Setup a second bot exactly like the first (make sure to also invite it your server, same permissions as the first bot), and provide this token for it to be used.

  • Drastically improved the responsiveness of status message updates.

  • Cleaner and more predictable status messages; shorter message with less info for Menu and Unlinked statuses.

  • Unlinked players will now be listed so you can see which in-game players are still unlinked to discord users (finally).

  • Miscellaneous bug fixes and stability improvements

automuteus - 2.3.0 Easier Linking, Settings, auto-link, bug fixes!

Published by denverquane about 4 years ago

Lots of exciting features in this one :)

  • Linking with the capture is much easier now; no copying capture codes anymore! Simply run .au new and follow the steps (thanks @ph0t0shop)!
  • Room code/region in the status message will now be auto-updated as you enter or switch lobbies
  • .au settings to change settings while the bot is running (thanks @Giorgio)!
  • Auto-linking based on in-game names matching discord usernames or nicknames! This one can be a little finicky sometimes; if you join the VC late, try to change your in-game color to force the link to update automatically
  • (Potentially) Breaking Change: Changed SERVER_PORT to just PORT
  • Support for a 2nd Bot Token for distributing API requests. Recommended for 8+ player games. See README for details.

Developer/Contributor Patch Notes:

  • Added support for running the bot in sharded mode. See the README for details on the env for this.
  • Numerous additional ENV variables, including the ability to specify an alternative config location.
  • Added a flexible storage interface for writing/reading PersistentGuildData from an arbitrary store. This includes filesystem and Google Firestore storage for now; see storage/storage.go to see details for extending this interface to support other storage methods or databases.
  • Env variables to more readily enable remote deployments. See README.
automuteus - 2.2.4 Fixed player leaving/rejoining incorrect links

Published by denverquane about 4 years ago

This fixes the issue where old player data would hang around even after players have left. This resulted in new players being incorrectly linked to old data when joining.

Also fixed a bug where link wouldn't work until a user had joined a voice channel already (thanks CloakingPotion 👍 )

automuteus - 2.2.3 Better command handling

Published by denverquane about 4 years ago

Small release, but you can now use commands more flexibly, for example:

.au help and .auhelp are equivalent in this update.

Added version number to the help text/command reference
Added preliminary support for sharding...

automuteus - 2.2.2 Permissions hotfix

Published by denverquane about 4 years ago

Fixes an issue where the bot would respond with "no permission" to ANY text, not just .au commands

automuteus - 2.2.1 Functioning permissions in guildid_config.json

Published by denverquane about 4 years ago

You can now restrict permissions by certain "admin" userIDs, or by roleIDs in your config json!
You can also specify the default tracked channel name there, too

ex:

    "defaultTrackedChannel": "general",
    "adminIDs": ["12123434", "23213445"],
    "permissionRoleIDs": ["14352134", "12345656"],
automuteus - 2.2.0 Voice "overlapping" fixes, refresh command, bug fixes

Published by denverquane about 4 years ago

Biggest aspect of this release is the new behavior for muting/unmuting; users mentioned there was occasional overlap between when dead players were unmuted, and when alive players were re-muted (resulting in potentially leaked information).
Now, the mute/deafen changes for players will only apply once the changes to the more "priority" users have completed. Aka, only undeafen alive players at discussion once we're sure that the dead players are muted (no overlap)!

Status message will now update when the socket initially connects, or when it disconnects!

A couple miscellaneous bug fixes, better handling of async socket messages for future large deployments, the "refresh" (.au refresh) command to remake the status message at the bottom of the chat, a rare race condition, etc have been fixed

automuteus - 2.1.0 Custom config, custom command prefix, bug fixes!

Published by denverquane about 4 years ago

When you start up the bot the first time, it will dump a default config in <guildid>_config.json, which contains all the settings for your discord instance! Feel free to change your command prefix, delays, or even mute/deafen behavior in here (don't change the guildID).

changing defaultTrackedChannel, adminIDs, and permissionRoleIDs has NO EFFECT. Those are PLACEHOLDERS!

The format for the delays is a little complex; here is the format:

...
        "delays": {
            "DISCUSSION": {
                "DISCUSSION": 0,
                "LOBBY": 6,
                "TASKS": 7
            },
        ...
...

This specifies all the delays for DISCUSSION -> transitions, in seconds. So in the above example, there is a 6 second delay when going from DISCUSSION -> LOBBY, and a 7 second delay going from DISCUSSION -> TASKS

This config is only detected when restarting the bot. Making changes while the bot is currently running will have no effect

automuteus - 2.0.5 Many stabilization improvements, dead bug fix

Published by denverquane about 4 years ago

This patch is mainly a stability/thread-safe refactor (no more crashes, and more consistent behavior across the board), but also should fix the behavior with erroneously marking a player as dead/alive when they shouldn't be. If you still see something similar still, SEND ME THE LOGS.

Other features:

  • Added delays to certain transitions. These aren't easily configurable right now, but make more sense than the old no-delay situations.
  • When a user starts a game with .au new, if that user is in a voice channel, that voice channel will be used as the tracked channel by default
automuteus - 2.0.4 Link/emoji fixes, added unlink, thread lock/unlock optimization

Published by denverquane about 4 years ago

See title ya silly

automuteus - 2.0.3 Misc bug fixes, easier sync codes, etc

Published by denverquane about 4 years ago

Added sync codes (no more guildID needed!), misc bug fixes, better help text, etc.

Logging to file by default, version # in logs automatically

automuteus - 2.0.2 Fixes crashes related to 2.0.1

Published by denverquane about 4 years ago

Also added new commands to .au help

automuteus - (UNSTABLE) 2.0.1 Prerelease, misc fixes and debug tools

Published by denverquane about 4 years ago

Adds .au end to properly end the game (unmuting all players as necessary).

Added .au force <stage> to force the bot to transition to the stage you desire, if it gets stuck in the wrong stage. For example, .au f task or .au f d(discuss). .au f lobby as well.

Also added a cleaner embed message for the status, and implemented correct mute/deafen behavior for alive/ghosts

automuteus - 2.0 Pre-release

Published by denverquane about 4 years ago

automuteus - 1.4.2 Console window stays open on failure

Published by denverquane about 4 years ago

Should make debugging easier!

automuteus - 1.4.1 Fixed Full-length Commands

Published by denverquane about 4 years ago

Full-length commands weren't working (aka .au help instead of .au h). Also applies to the regions used in .au broadcast; asia, north, or europe

automuteus - 1.4.0 Rate Limiting Fix (again)

Published by denverquane about 4 years ago

This should fix the rate limiting issue (finally? hopefully?). On a full server of 10 players, it will around 3+ seconds to mute/unmute all 10 players with these settings. I don't see a great way around this; this is an inherent limitation of Discord's API.

Added the variable to tweak the delay, however:

# how many milliseconds between mute commands (for multiple players) the bot should wait
# leave as default (300ms) unless you see players not being muted/unmuted fully, especially in large games of
# 7+ people. If playing with many players and inconsistent muting/unmuting is occurring, bump up to 350-400
DISCORD_API_MUTE_DELAY_MS = 300

Also included a change to detect final.env, final.txt, or even final.env.txt as environment files

automuteus - 1.3.4 Fixed automatic tracking (again)

Published by denverquane about 4 years ago

Had a weird regression where the bot wouldn't automatically start tracking players when it started up. This should be fixed now!

Also added fields in the .env for manually specifying the resolution if you have a problem with the resolution/monitor autodetection (rare):

# Only change if you are experiencing capture issues. The bot should autodetect the resolution of your primary display
# X_RESOLUTION = 1920
# Y_RESOLUTION = 1080
automuteus - 1.3.3 Race Condition Fix (Unmuting @ discussion)

Published by denverquane about 4 years ago

This should address an issue people were reporting where players weren't correctly unmuted when the discussion phase begins (a weird race condition)

Package Rankings
Top 4.5% on Proxy.golang.org
Badges
Extracted from project README
Quickstart Crowdin