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

Implement IRC portion of Bancho #212

Merged
merged 37 commits into from
Mar 11, 2022
Merged

Implement IRC portion of Bancho #212

merged 37 commits into from
Mar 11, 2022

Conversation

cg0
Copy link
Member

@cg0 cg0 commented Mar 7, 2022

Closes #25

This is a work in progress implementation:

  • Can connect to IRC
  • Can message between IRC and Bancho
  • Support Bancho commands
  • Can PM Bancho user from IRC
  • Can PM IRC user from Bancho
  • Can PM IRC user from IRC
  • Make chat engine more generic for IRC and Bancho users
  • Support password auth (user token like osu)
  • Display IRC users in Bancho connected players - Optional for this ticket
  • Support secure IRC - Optional for this ticket
  • Manually test common IRC clients (Only testing versions with Linux client):
    • HexChat
    • ircII
    • KVIrc
  • Wire up event system for IRC
  • Properly unit test
  • Match osu! IRC implementation as best we can

@cg0 cg0 self-assigned this Mar 7, 2022
@cg0
Copy link
Member Author

cg0 commented Mar 7, 2022

Unit testing should require a basic IRC library for testing connections

@cg0
Copy link
Member Author

cg0 commented Mar 7, 2022

For this implementation since the web frontend doesn't even support logging in yet we will have the IRC token be a Bancho command

@cg0
Copy link
Member Author

cg0 commented Mar 7, 2022

For the event system since we already support chat events that come from Bancho it might be good to support a specific IRC chat event and move to also having a generic chat event to cover both grounds.

Edit: Too much work, just made generic

@cg0
Copy link
Member Author

cg0 commented Mar 7, 2022

Seems the correct response to an incorrect password or no password given when required is to respond with ERR_PASSWDMISMATCH however that doesn't prompt the user to re-enter a password on HexChat which seems like it would be expected behaviour.

Message will need to be ammended to say what to do to get your password and let the user know to set it but it needs to be looked into if that's the only solution.

Edit: Some clients prompt afterwards

@cg0 cg0 marked this pull request as ready for review March 10, 2022 21:15
@cg0
Copy link
Member Author

cg0 commented Mar 10, 2022

This will still require some additional work to move away from IRC and Bancho holding their own state of users to a centralised users map under the chat engine. However I feel this ticket has gone on for long enough.

See #215 and #216

@cg0 cg0 merged commit d92a204 into develop Mar 11, 2022
@cg0 cg0 deleted the issues/25 branch March 11, 2022 00:54
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

Successfully merging this pull request may close these issues.

Implement IRC portion of Bancho
1 participant