mirror of
https://git.sr.ht/~emerson/reflectionircd
synced 2025-08-05 16:59:10 +00:00
35 lines
No EOL
1.6 KiB
Markdown
35 lines
No EOL
1.6 KiB
Markdown
---
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
## 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.
|
|
|
|
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.
|
|
|
|
## 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! |