/AmongUsBot

Primary LanguageKotlinMIT LicenseMIT

Among Us Bot

Provides a very intuitive interface to keep track of colors and dead people. As a bonus it can deafen lazy people. Caveat: Discord rate limits bots, it can roughly mute two people per second. Use this as a last resort, not as a default.

The bot reacts automatically when someone deafens themselves, waits 5 seconds and deafens anyone who is not deafened yet (except dead/spectator people).

To update the game code, just type a new game code in chat (capitalize all letters), the message will update automatically.

Detected game codes:

  • AT22T5
  • AT22T5 (spaces before and/or after the code)
  • at22t5
  • Check out my gamecode: AT22T5
  • AT22T5 is the code
  • At22T5

Invite him here

Commands

Command Arguments Info
!asnew [Game Code] <--noMute> Create a new game (has to be in Voice channel)
!unmute Unmute/Undeafen yourself if the bot didn't do that automatically
!undeafen Unmute/Undeafen yourself if the bot didn't do that automatically
!help Show a help dialog with all these commands
([A-Z]|\d){6} Create a new game (has to be in Voice channel). Does not mute anyone.

Preview

Imgur

To mute all just deafen yourself or click the mute emote. Dead people will not be deafened, but are muted during meetings.

Self Hosting

I'm not quite sure how good the bot scales, so there is a chance that I will disable it on other servers in the future.

You can still self-host it then.

Start the server with java -jar [server-file-name] If you put in everything correctly, the bot should message you on Discord.

Note: You need to invite the bot into a server before it can message you.

Run it once (it should crash or print an error), so config.json is being created. Add your Discord ID adminId (not name), Bot token token to the config.json.

If you verified that everything works correctly, you can start the server in the background, on Linux that is nohup java -jar [server-file-name]. To stop it you can either type !stop in the Admin Console (Discord PM) or if the bot is unresponsive the PID of it through ps -ef and kill [pid].

Last this is adding custom emotes. This is semi-optional, there are fallback default emotes, however they do not cover the full spectrum of colors used by Among Us.

The bot will look for emojis named amongus_[color], I recommend using these.

Compiling yourself

I developed it under Windows, and had some trouble compiling it on Linux. You mileage may vary.

Admin commands

Command Arguments Info
!info Info about the bot's status
!servers List of servers the bot joined
!stop Stop the bot
!help Show a help dialog with all these commands

Config File

{
  // your user ID
  botAdmin: 12345678,
  // your discord bot token
  token: "YourTokenHere",
  // delay before the bot will deafen all
  muteDelay: 5000
}