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

Allow servers to advertise commands for clients. #109

Open
ValwareIRC opened this issue Aug 10, 2023 · 3 comments
Open

Allow servers to advertise commands for clients. #109

ValwareIRC opened this issue Aug 10, 2023 · 3 comments

Comments

@ValwareIRC
Copy link

This is be useful for suggestion or auto-completion and gives each user a broader idea about what commands are available to them on the server.

Currently my implementation only tells you that a command exists, and does not tell you about any of the expected parameters of each command.

Here is a working UnrealIRCd module which provides this capability. The README will explain in further detail how it works.

Here is a working mIRC script which uses the command information to provide suggestion and autocompletion based on what commands we know we can use.

@ValwareIRC ValwareIRC changed the title Advertise commands for clients. Allow servers to advertise commands for clients. Aug 10, 2023
@delthas
Copy link

delthas commented Aug 11, 2023

I think that for it to be intuitive to users, each command should have a description, parameters and the meaning of each parameter. But it sounds difficult to design a simple spec which incorporates these items, so I'm not sure if this feature is possible at all.

@progval
Copy link

progval commented Aug 11, 2023

in other words, making HELP/HELPOP machine-parseable

@ValwareIRC
Copy link
Author

I agree with what you're saying, it would be optimal if these could be provided too, however most of the meaningful commands and their parameters are already known to clients and so clients can base them off spec.

A majority of common parameter types (channels and nicks) are intuitively suggested/autocompleted in many clients, so the gap is closed a little.

So this is still meaningful for clients to be able to show available commands as it's convenient discovery tool for:

  • Learning how to use IRC
  • Knowing what commands are available to you on a specific server (and knowing how to look for more information i.e. /help or /helpop)
  • Moderating

I myself have found it to be useful and I've discovered new commands I didn't know about before (not because they're undocumented, but because the information isn't convenient to discover).

Some clients suggest in-built client commands and a few that they're sure are exist on the server, i.e. /me or /join without suggesting parameters. It would be a good place to start and eventually incorporate things like expected parameter count and type.

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

3 participants