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

Make sure all users are in the new channel when doing .unomove #23

Open
3 tasks
dgw opened this issue Oct 13, 2015 · 1 comment
Open
3 tasks

Make sure all users are in the new channel when doing .unomove #23

dgw opened this issue Oct 13, 2015 · 1 comment

Comments

@dgw
Copy link
Owner

dgw commented Oct 13, 2015

Tentative plan:

  • Stage 1: Refuse to move games if not all users are in the new channel.
  • Stage 2: Notify users not in the new channel to join it, and monitor JOINs to finalize the move when all players are present.
  • Stage 3: Allow players to vote against moving the game if anyone is missing from the new channel.

Original OP follows.


Introduced in bb7c3e8, .unomove is a great way to take the game elsewhere if other users in the channel in which you started playing don't appreciate the noise. But there's no verification that all the current players are actually in the new channel.

This can be handled a few ways. Some ideas:

  • Auto-invite all users who aren't in the new channel
    • Needs to consider channels that are private or have keys, probably not the best option; also requires that Sopel has high enough privileges in the new channel to send invites.
  • Refuse to move the game if not all players are in the new channel
    • Puts more burden on users, but the logic is simpler.
  • Move game when all users are in new channel
    • Requires checking, and then monitoring JOINs in the new channel. New data structures and all sorts of kludgey logic would probably be needed for this one, but it's a good compromise between the other two options.
@dgw
Copy link
Owner Author

dgw commented Nov 11, 2016

This is probably going to be a drawn-out multi-stage process. Task list added to OP.

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

No branches or pull requests

1 participant