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

Add IRC Functionality #52

Closed
10 tasks
memsdm05 opened this issue Feb 15, 2021 · 1 comment
Closed
10 tasks

Add IRC Functionality #52

memsdm05 opened this issue Feb 15, 2021 · 1 comment

Comments

@memsdm05
Copy link
Contributor

memsdm05 commented Feb 15, 2021

Proposal

Summary

The offical osu! server has an IRC server. So does Ripple. They provide a platform for external bots such as Tillerino and MaidBot to operate, enriching the user experience on their respective server. I propose we do the same, although make it async.

Motivation

A lot of a private server's job is to emulate Bancho while also adding new features. Even though IRC is not essential to a Bancho clone, it however allows bots to run without needing a Bancho connection. Mostly, this serves as compatibility, since most osu bot frameworks work via IRC (i.e. bancho.js). Also, it's cool.

Describe alternatives you've considered

Using a "modern" IRC-like service (like Firebase) would render the compatibility aspect useless. The only purpose IRC serves on osu! is interacting with osu's chat. It can't submit scores, or even lookup user data. Simple is good.

Additional context

I'm willing to develop it as @cmyui already has enough on his plate. Think of it as an initiation project. If it never gets delivered, it won't cripple Gulag's infrastructure. Likewise, if it does get delivered it (should) warrant a version increase (@cmyui can i commit to devel?)

Some objectives for the IRC server

  • Seamless integration into existing code (Bancho user == IRC user)
  • irc.ppy.sh compatible
  • Redirects DMs to BanchoBot to Aiko
  • Token protected
  • DB table for storing IRC usernames and tokens (with a relational element to userids)
  • gulag-web interface for creating tokens (talk with @yo-ru about that one)
  • command for creating tokens
  • async (runs in main loop instead of threads, because screw threads)
  • lightweight and fast (ad hoc, not a thin layer over a dependency)
  • works with IRC clients like HexChat

-- sansquick

@memsdm05 memsdm05 changed the title Adding IRC Functionality Add IRC Functionality Feb 15, 2021
@cmyui
Copy link
Member

cmyui commented Mar 14, 2021

going to close this for the time being, as it's not being actively pursued anymore.

if no one gets around to this before me, i will likely work on it when the server is in a more complete state (at least a few months).

@cmyui cmyui closed this as completed Mar 14, 2021
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

2 participants