tanndev / silence-among-us Goto Github PK
View Code? Open in Web Editor NEWDiscord channel manager for Among Us
License: MIT License
Discord channel manager for Among Us
License: MIT License
Commands like "!sau start", "!sau config set speech off" or "!sau config get prefix" can not be deleted out of Discord channels by users/moderators/admins.
I assume that's due to the bot still accessing those messages (?)
I would expect the bot delete the command messages automatically or at least not prevent users from deleting them.
If a user is muted/deafened by the bot in a voice channel, they stay muted/defeaned when they leave it.
The audio states of users also isn't corrected later, if they're not in the voice channel.
working
to get muted`This also works for spectators (though the lobby ends if he last spectator leaves.
Users should be unmuted/undeafened when they leave the voice channel.
Bot doesn't respond to !sau
Just tried !sau start or !sau help
Nothing happend
Tanndev CI links literally https://github.com/tanndev/silence-among-us/issues/github_release_url
, because of this setting:
- successComment: "This ${issue.pull_request ? 'pull request is included' : 'issue is resolved'} in version [${nextRelease.version}](<github_release_url>)"
It should give a link to the actual release.
Not sure why the default functionality has spectators deafening, I understanding muting the spectators, but deafening is kinda the opposite of "spectating".
main
branch failed. π¨I recommend you give this issue a high priority, so other packages depending on you could benefit from your bug fixes and new features.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can resolve this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here is some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
Unfortunately this error doesn't have any additional information. Feel free to kindly ask the author of the @semantic-release/exec
plugin to add more helpful information.
Good luck with your project β¨
Your semantic-release bot π¦π
Update to a released version of AmongUsCapture, rather than the beta build currently used.
It's better to be on a public release version than a private build.
This is a really, really easy first issue. Just replace the exe in downloads and update the version number in the index.
When playing with spectators in the lobby they do not get muted during the discussion, this causes them to have to be careful about saying anything about the game even during "Working Phase" as they can end up in the discussion on accident.
Store lobby data so that it's not lost whenever the bot is restarted.
When the bot is restarted for an update or maintenance, any lobby in progress is lost.
This causes a few problems:
A couple options for storing lobby info:
The main problem is how to serialize lobby data in a way that can be recovered. Whichever instance of the bot is handling the shard on startup will need to be able to load the lobby and resume where the previous instance left off.
The capture app shouldn't be a problem, since Socket.IO supports automatic reconnection. It should simply reconnect to the new instance smoothly. Update: While Socket.IO does automatically reconnect, the capture app doesn't resend the connect code. That'll need to be patched.
One other option would be to add a graceful shutdown order which ends all existing lobbies.
I'm guessing you already know, but my bot has stopped working on the main version of the game with the new update they just pushed.
I apologize if there is already a way to do this within the current framework, or if you consider it outside the scope of this project, but figured it couldn't hurt to ask.
I have floated the idea of 3rd party game roles to my server and the concept has received some positive feedback. 3rd party roles could really be anything, but my initial idea would be to emulate roles from other Mafia-style games such as "The Tanner" from ONUW.
Obviously, the ideal implementation would be directly into the game itself, but the game itself is not currently open-source, and modifying game files comes with inherent risk. So, at least as proof of concept what makes the most sense to me so far is leveraging the knowledge of the game states this bot has to assign roles and instructions on what to do via discord private messaging.
I figure adding the full functionality is certainly out of the scope of this project. However, if there was a way to either listen to a data endpoint or ping the bot periodically with a command for in-game states (who is known-dead, unknown-dead, game-phase, who is the imposter, etc.) I would try leveraging that into a secondary bot that piggybacks off the provided data and handles the rest of the concept.
Let me know if you want more details about what I had in mind, and I appreciate how responsive you have been even if this isn't something you are interested in pursuing!
Allow players to connect to the game using emojis, like with AmongUsCapture
My friends are lazy and don't want to type things
The bot will end a lobby stating "Nothing has happened 30 minutes, so I ended the lobby." despite the lobby being actively in use for a game. Bot automatically unmutes everyone when it occurs, proceeds to mute everyone as per usual after a state change in the game. Attempting to use "!sau stop" to close the lobby after this bug appears has the bot say "There's not a lobby for your voice channel. Try !sau start!"
Play games with the bot running alongside Among Us Capture.
Eventually (Feels like it might be around the 30 minute mark but not confirmed) bot will claim to close the lobby.
Bot should detect the game as still running and not end lobby
When a new game is created, associate players in game with existing users.
It is tedious to have users type join every time you choose to change a map.
The server has its list of saved users, and their names. If it is initialized or a player joins, and their discord name matches their saved profile, then automatically add them to the game
Not an alternative, but potentially added as an opt-in initially and then switched to default if so desired
Rather than storing user IDs directly, the bot should store hashed versions of them.
The reasons are simple:
Use a cryptographic hash to generate a unique document ID for each user settings document.
The hash (and therefore the document ID) can be recalculated whenever the document is needed.
Ignore this.
Any command I enter results in a 404 error
Enter and command, you'll probably get this error
I expected the command do run, such as stopping a lobby with !s stop or joining a lobby with !sj
Admin command to let others (or just the admins and moderators from the discord server) to force join the spectators into the lobby, and have a command to kick a person from the lobby if he's not in the voice channel (and not in the match) anymore.
For the force join command, the idea is to let someone with higher permissions to force others join the lobby, most to prevent someone from not joining, and also helping those who are playing using the mobile discord and mobile among us.
As for the kick command, I've noticed that if the person who is leaving the match doesn't use the command to leave the lobby, it will stay in there. Also, the same reason for the mobile players.
I guess this will help to manage the lobby a lot more easier.
Thanks in advance.
Hello mate!
Since the beginning I added the bot, it seems that all the players are in double in the informations given by the bot :
I use amongUsCapture.exe, and here is the log file :
CaptureLog.txt
Thank you for your help ! :)
Option to move users to a different voice channel, instead of muting and deafening them, to allow dead players to communicate.
Customizable Presence text.
Currently, the bot is hardcoded to !sau-rollcall which is already misleading if you have changed prefix.
The de-facto standard for these types of bots has trended toward
${prefix} help | Watching ${num} games in ${num} servers
Personally, I think the help is too verbose and everything to the right of the pipe is perfect, but opinions are endless haha. Possibly above as the default for MVP with roadmap to user customizable text?
At a minimum, the ability to completely replace the status text as is, via
!sau config set status crewmates get bamboozled
assuming stull hardcoded watching prefix.
Create some mechanism to allow text to be bundled into language packs.
Right now, the bot only really works for english readers. Since Among Us supports other languages, it'd be useful for the bot to support those languages too. But that can't happen so long as the bot hard-codes it's text.
Couple ideas:
Alternatively, someone could fork the repo if they want to provide a non-english version. In one sense, that'd be ideal because then it'd be inherently maintained by a translator. But it would mean that the publicly-hosted bot would be english-only.
The bot don't react to commands, sometimes he just delete my command (!sau help) sometimes he don't
From @douglasmonsky:
People should probably be auto ejected when they leave the voice channel (or maybe after being gone for say 5 mins). Even when telling people pretty much no one actually leaves to the session via the bot, they just leave.
Players should be removed from the bot automatically, where possible.
Players don't leave the bot (because why would they?) which means they are left hanging around until someone uses ejects them or ends the lobby. This just is inelegant and annoying.
Some options to think about:
From #41:
Make [spectator handling] configurable. (I'm thinking mute, ignore dead for settings, with a warning that the last option will impact performance.)
Some users want spectators to be ignored, other users want them to be muted. whynotboth.gif
Add a new spectators
config options with three values:
mute
: Spectators are muted during the game.ignore
: Spectators are ignored entirely.dynamic
: Spectators are muted/unmuted dynamically along with dead people.Testing the bot, and living players are still muted in the meeting state. Screenshot below shows the bot recognizes the meeting state, and that I'm living. It correctly mutes when the game begins, but does not unmute living once meetings begin.
Expect living players to become unmuted.
I good feature would be for the bot to spectate a live stream of someone in the channel in order to check for the "Shhhh" and "discussion" screens. (maybe dead bodies too?)
so it removes the need for one of the players to use the capture program.
I simply haven't had time to give this bot the attention it requires. And, in the meantime, AutoMuteUs has gotten constant updates and improvements. So, for the final version of the bot, I'm going to replace all of it's functions with a recommendation to go use that one instead.
The group I play with regularly has multiple married couples that play together in the same room using 1 Microphone and 1 Discord account for both of them, is it possible to add the ability to assign multiple players to 1 discord account and treat the discord account as alive unless both players are dead?
If a lobby is unchanged after a certain amount of time, it should automatically stop.
Since lobbies only close themselves when all players are gone, and non-spectators aren't removed when leaving the channel, they can end up staying open indefinitely. This consumes resources and can be confusing for people if they join the channel.
If the lobby is untouched for a certain amount of time (20-30 minutes?), it should automatically stop.
I imagine that "untouched" could mean that no commands have been issued manually OR by the capture app. Either would indicate at least some interest in the lobby.
The easiest solution would likely be to add a timeout to the lobby. If it expires, the lobby closes automatically. Then, in both of the Lobby.findXXX
functions, the timeout gets reset.
Hi! Not sure this is a bug or a config, but whenever we play a match (e.g. with 5~6 people) and someone else tries to join the lobby, he receive the message ", Guild member (undefined isn't in the lobby."
Also, we noticed that this issue may also happen if some minutes (didn't checked how many) have passed after the start of the lobby (I think it was around 10m)
1- Play a game with fewer people
2- once the match is over, ask to someone else join the lobby
Let anyone join the lobby if the status is "intermission"
Users should be able to erase all data related to themselves.
Even if the data stored by SAU isn't considered PII protected by GDPR, users should still be able request that any related data be erased. And if it is, then it's legally required.
In either case, this should be made as simple and easy as possible.
The bot should expose a simple forget-me
command that erases the user's settings document without question.
CouchDB will automatically replicate the deletion to any backups, and database compaction will make the data unrecoverable relatively quickly.
The API server could also expose an API for this, though some kind of authentication mechanism would be required in order to prevent malicious actors from deleting other users' data.
The bot is currently blocked by Discord verification. Users see this message:
The verification process has been started (and has been since it hit 75 servers), but not yet complete. It must be completed for the bot to be added to any new servers.
This issue will be updated with progress on that. In the meantime, the only available workaround is to use the beta version instead. (See the README) for details on that.)
Hello, i recently added the bot to my server and trying to change the prefix.
I changed the prefix to dollar sign "$", and then the bot isn't picking any command i typed.
I confirmed it by typing "!say-rollcall" and it is indeed the bot already changed the prefix to "$", but the bot just don't reply to any command i issue, like "$ help" etc
!sau config set prefix $
!sau-rollcall
Silence Among Us: @User, I'm listening for $ Try using $ help for more information.
$ help
Bot listens to the new prefix
The bot doesn't remove a lobby's room when the socket receives the MENU
state update event.
The bot gets the MENU
state update event, but doesn't remove the room.
Going to the menu should reset the room.
The ability to link people to accounts, so mobile users have an easier time.
While looking at the logs for something else, I noticed that the bot kept trying to update the nickname of a given player.
This implies that the nickname wasn't being updated correctly.
Unknown at this time.
The bot should only update the user's nickname if it's different.
Find the previous info-post message after the lobby resumes from a restart, so it can be deleted.
Every time the bot restarts (for an upgrade, usually), the last info-post it left behind sticks around indefinitely.
It'd be much better if the bot could find that message again, and delete it.
Try storing the ID of the message in the database, and see if it can be searched for.
Play audio clips into the channel to announce things like the lobby starting.
There's some information that would be useful to hear:
Add announcements into the Lobby class.
When a player dies, they are marked as "untracked". Likely, their color is being deleted for some reason.
I don't know if this happens instantly, or when they are actually killed.
Die.
Players who are not joined appear twice in the players list
!sau start
)!sau join <name>
)All players should be listed once
Players (12)
:stopwatch: @Guto (guto) (Orange)
:stopwatch: @Sabi~ (SabiSus) (Blue)
:stopwatch: @Los (Dr Los) (Cyan)
:stopwatch: Jakt Noob (Red)
:stopwatch: Jakt Noob (Blue)
:stopwatch: @Juice (Dr Rho) (Green)
:stopwatch: MikeHunt (White)
:stopwatch: MikeHunt (White)
:stopwatch: Not Ghandi (Black)
:stopwatch: Not Ghandi (Black)
:stopwatch: Eiei (Lime)
:stopwatch: Eiei (Lime)
In the above sample, Jakt Noob, MikeHunt, Not Ghandi, and Eiei are listed twice
Using !sau join <name>
should change your name and re-join the lobby.
It should be easy to change your name.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.