reflectionircd/docs/specs/extended-invite.md

35 lines
1.6 KiB
Markdown
Raw Normal View History

2022-01-24 10:23:06 -05:00
---
title: Extended Invites
layout: spec
work-in-progress: true
copyrights:
-
name: "Emerson Veenstra"
email: "ircv3@emersonveenstra.net"
period: "2022"
---
## Notes for implementing work-in-progress version
This is a work-in-progress specification.
2022-02-01 17:46:22 -05:00
Software implementing this work-in-progress specification MUST NOT use the unprefixed `extended-invite` capability name. Instead, implementations SHOULD use the `draft/extended-invite` capability name to be interoperable with other software implementing a compatible work-in-progress version.
2022-01-24 10:23:06 -05:00
The final version of the specification will use an unprefixed capability name.
## Introduction
This specification extends the `INVITE` command to allow for an optional reason. The reason is used to give more context around why the invite was sent.
2022-01-24 10:23:06 -05:00
## Implementation
Clients that have negotiated the `extended-invite` capability MAY add a final parameter on an `INVITE` command. This parameter is to give the target user context for the invite. This parameter MUST NOT cause the message to exceed the maximum allowable line length of the server.
2022-01-24 10:23:06 -05:00
2022-02-01 17:46:22 -05:00
Servers that implement `extended-invite` MUST accept `INVITE` commands with three parameters. If the user receiving the invite has negotiated `extended-invite`, the server sends the final parameter to that user. Additionally, the final parameter is added to the `INVITE` command sent to any users that have negotiated both the `extended-invite` and `invite-notify` capabilities.
2022-01-24 10:23:06 -05:00
## Examples
For example:
C: INVITE emerson #project-test :We're testing out our project in here!
S: n!u@h INVITE emerson #project-test :We're testing out our project in here!