Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Destroy voice channels after a puzzle is solved (possibly after a delay) #68

Open
Zahariel opened this issue Jan 17, 2022 · 9 comments
Open

Comments

@Zahariel
Copy link
Contributor

With hunts getting bigger and bigger again, Discord's 500 channel limit is looming alarmingly close. Voice channels for solved puzzles don't really serve that much of a purpose. We should consider destroying them some time after a puzzle is marked "solved".

Notes:

  • this means that the bot needs to not choke horribly if it encounters a puzzle with no voice channel.
  • there should be an escape hatch to cancel or undo this deletion in case of multi-answered puzzles a'la Safari round from 2020.
  • maybe never delete a voice channel with someone talking in it? I think that's something the bot can detect
  • possibly we just want to stop having dedicated voice channels per puzzle and instead implement "voice channels on request" which the bot creates and deletes on command; we would still want to delete or deallocate them automatically when they don't seem to be useful anymore, rather than making people do it manually (because they wouldn't)
@gnprice
Copy link

gnprice commented Jan 17, 2022

  • possibly we just want to stop having dedicated voice channels per puzzle and instead implement "voice channels on request" which the bot creates and deletes on command;

FWIW I appreciate having a voice channel exist by default on a new puzzle -- I think it contributes to keeping the use of voice chat low-friction and therefore common.

@Zahariel
Copy link
Contributor Author

FWIW I appreciate having a voice channel exist by default on a new puzzle -- I think it contributes to keeping the use of voice chat low-friction and therefore common.

Yeah, I do too, just wanted to throw out ideas. I don't think this one is really a "good" idea, but if we end up with a hunt with 300 puzzles, it might become a "necessary" idea. I wouldn't enjoy the idea of having to type hb!voice when joining a new puzzle or one which doesn't have a voice channel for whatever reason. But I don't think it's a total show-stopper either; certainly by the end of hunt people are tired of wearing their headsets anyway.

@Zahariel
Copy link
Contributor Author

Zahariel commented Feb 2, 2022

Actually I came up with a different and maybe better idea: create a voice channel when the first person joins a puzzle, and delete it when the last person leaves. This is trivial to detect from the bot, and should look exactly the same as always having it, but saves enormously on channels for inactive (e.g. solved) puzzles.

@sparkyb
Copy link

sparkyb commented Feb 2, 2022

As long as voice channel churn (getting created and deleted) isn't going to create problems, then I love this solution.

@gwillen
Copy link
Owner

gwillen commented Feb 2, 2022

I think we probably want to destroy the voice channel before the last person leaves, because I think most puzzles have stragglers in them ~forever because people are bad about leaving.

@sparkyb
Copy link

sparkyb commented Feb 2, 2022

Strictly speaking you only need the voice channel when >1 person is in the text channel, so you could create it when the 2nd person joins and destroy it when the 2nd to last person leaves. But this does not address gwillen's very valid concern when there are more than 1 stragglers.

@Zahariel
Copy link
Contributor Author

Zahariel commented Feb 2, 2022

I don't know. I leave channels pretty aggressively so I don't know what to do about stragglers. I liked the purely symmetric conditions because it means we don't need to provide an escape hatch for "whoops I'm still here and I want it back"; that situation simply can't happen. But I don't know how prevalent stragglership is.

@sparkyb
Copy link

sparkyb commented Feb 2, 2022

It only matters in the case that there are so many puzzles we run out of channels. So your proposed solution is good enough until we hit that point. Rather than trying to do something complicated like "after X minutes of inactivity", I am in favor of a manual action we can trigger only in the case that it is really needed (which it may not be in most years). As far as what the manual action does, I would have said "delete all voice channels associated with solved puzzles". That does break some of your symmetry if anyone actually wanted those channels though. So instead, how about "kick stragglers out of solved puzzles". The voice channels will then automatically get deleted by the normal rule. If anyone was straggling on purpose, they can always re-join (and get a new voice channel if there are multiple of them). If there was a puzzle that just got solved people might be within that 5 minutes of wrapping up, but since it is a manual action, you can just be careful not to do it with a minute or so of a puzzle being solved if you're worried about that. And if not, oh well, this should be rare anyway so that small group of people can deal with it.

Repository owner deleted a comment Jan 12, 2024
@gwillen
Copy link
Owner

gwillen commented Jan 12, 2024

This may be obviated by switching to shared voice channels for everything, if we decide to keep that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants