core: Finish implementing message-tags
[quassel.git] / src / common / irccap.h
index 29042b1..132bd71 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2019 by the Quassel Project                        *
+ *   Copyright (C) 2005-2020 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -79,6 +79,13 @@ namespace IrcCap {
      */
     const QString EXTENDED_JOIN = "extended-join";
 
+    /**
+     * Additional metadata on a per-message basis
+     *
+     * https://ircv3.net/specs/extensions/message-tags
+     */
+    const QString MESSAGE_TAGS = "message-tags";
+
     /**
      * Multiple mode prefixes in MODE and WHO replies.
      *
@@ -93,6 +100,13 @@ namespace IrcCap {
      */
     const QString SASL = "sasl";
 
+    /**
+     * Allows updating realname without reconnecting
+     *
+     * https://ircv3.net/specs/extensions/setname
+     */
+    const QString SETNAME = "setname";
+
     /**
      * Userhost in names replies.
      *
@@ -100,6 +114,13 @@ namespace IrcCap {
      */
     const QString USERHOST_IN_NAMES = "userhost-in-names";
 
+    /**
+     * Server time for messages.
+     *
+     * https://ircv3.net/specs/extensions/server-time-3.2.html
+     */
+    const QString SERVER_TIME = "server-time";
+
     /**
      * Vendor-specific capabilities
      */
@@ -138,9 +159,12 @@ namespace IrcCap {
                                               CAP_NOTIFY,
                                               CHGHOST,
                                               EXTENDED_JOIN,
+                                              MESSAGE_TAGS,
                                               MULTI_PREFIX,
                                               SASL,
+                                              SETNAME,
                                               USERHOST_IN_NAMES,
+                                              SERVER_TIME,
                                               Vendor::TWITCH_MEMBERSHIP,
                                               Vendor::ZNC_SELF_MESSAGE};
     // NOTE: If you modify the knownCaps list, update the constants above as needed.