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 draft/oper-tag spec #494

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions extensions/oper-tag.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "`oper-tag` Extension"
layout: spec
work-in-progress: true
copyrights:
-
name: "David Schultz"
period: "2022"
email: "me@zpld.me"
---

## 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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given the simplicity of this tag, ircv3/ircv3-ideas#78, and the time spent already in production as solanum.chat/oper, I propose we save everyone time and just call this the oper tag.

It can still be refined in future with CAP or tag values.

unprefixed `oper` tag name. Instead, implementations SHOULD use the
`draft/oper` tag name to be interoperable with other software
implementing a compatible work-in-progress version.

## Description

The `draft/oper` capability causes the server to add a [message tag][] to messages sent by a user who is currently an IRC operator.

The tag MUST be named `draft/oper`. The value of the tag, if specified, MUST identify the operator.

The tag MUST be added by the ircd to all commands sent by a user (e.g. PRIVMSG,
MODE, NOTICE, and all others) and SHOULD be added to any numeric replies sent on behalf of the user.

Servers supporting this capability MAY be configured to restrict visibility of this tag or its value.

## Example

Consider that I am identified to the `launchd` operator account while chatting with the `lunchd` nickname. I will send messages to three users with different configured levels of visibility.

@draft/oper=launchd :lunchd PRIVMSG full_access_friend :it's me!
@draft/oper :lunchd PRIVMSG partial_access_friend :you can see I'm an oper
:lunchd PRIVMSG unprivileged_friend :don't mind me

[message tag]: ../extensions/message-tags