|
@@ -585,7 +585,7 @@ ircClient.channelState["#ktirc"]?.users?.forEach { user ->
|
585
|
585
|
|
586
|
586
|
== Events
|
587
|
587
|
|
588
|
|
-Incoming lines from the IRC server are covered by KtIrc to subclasses of
|
|
588
|
+Incoming lines from the IRC server are converted by KtIrc to subclasses of
|
589
|
589
|
`IrcEvent`. These, along with other more advance events, are then published
|
590
|
590
|
to users of the client using the `onEvent` method in `IrcClient`.
|
591
|
591
|
|
|
@@ -888,21 +888,52 @@ implementations should simply wait for <<ChannelNamesFinished>> and then request
|
888
|
888
|
the complete list of names from KtIrc's <<ChannelState>>.
|
889
|
889
|
|
890
|
890
|
==== ChannelNamesFinished
|
|
891
|
+* Type: IrcEvent, TargetedEvent, ChannelMembershipAdjustment
|
|
892
|
+* Properties:
|
|
893
|
+** `target`: `String` - the channel whose names response has finished
|
891
|
894
|
|
892
|
|
-TODO
|
|
895
|
+Raised when the IRC server has finished receiving all of the names of users
|
|
896
|
+that are currently in a channel. At this point you can query the channel's
|
|
897
|
+<<ChannelState>> to get a detailed list of members.
|
893
|
898
|
|
894
|
899
|
==== ChannelTopicDiscovered
|
|
900
|
+* Type: IrcEvent, TargetedEvent
|
|
901
|
+* Properties:
|
|
902
|
+** `target`: `String` - the channel whose topic was discovered
|
|
903
|
+** `topic`: `String?` - the topic in the channel, if any
|
895
|
904
|
|
896
|
|
-TODO
|
|
905
|
+`ChannelTopicDiscovered` occurs when we join a channel (or manually request
|
|
906
|
+that the server repeats the current topic) and contains the current channel
|
|
907
|
+topic. If there is no topic set, the `topic` parameter will be `null`.
|
|
908
|
+
|
|
909
|
+Metadata about the topic, such as who set it and when, is contained in the
|
|
910
|
+<<ChannelTopicMetadataDiscovered>> event which should follow this one, if
|
|
911
|
+the topic was set.
|
897
|
912
|
|
898
|
913
|
==== ChannelTopicMetadataDiscovered
|
|
914
|
+* Type: IrcEvent, TargetedEvent
|
|
915
|
+* Properties:
|
|
916
|
+** `target`: `String` - the channel whose topic metadata was discovered
|
|
917
|
+** `user`: `User` - the user who set the topic
|
|
918
|
+** `setTime`: `LocalDateTime` - the time at which the topic was set
|
899
|
919
|
|
900
|
|
-TODO
|
|
920
|
+Provides meta-data relating to a topic that was previously set on the
|
|
921
|
+channel.
|
901
|
922
|
|
902
|
|
-==== ChannelTopicChanged
|
|
923
|
+NOTE: The given user may not exist on the network any more, or may have
|
|
924
|
+changed details since the topic was set. You should not expect to be able
|
|
925
|
+to look up the user's details in the <<UserState>>, or interact with them
|
|
926
|
+directly on IRC.
|
903
|
927
|
|
904
|
|
-TODO
|
|
928
|
+==== ChannelTopicChanged
|
|
929
|
+* Type: IrcEvent, TargetedEvent, SourcedEvent
|
|
930
|
+* Properties:
|
|
931
|
+** `user`: `User` - the user who has changed the topic
|
|
932
|
+** `target`: `String` - the channel that the topic was changed in
|
|
933
|
+** `topic`: `String?` - the channel's new topic
|
905
|
934
|
|
|
935
|
+Raised when a user changes the topic of a channel we are joined to. If
|
|
936
|
+the topic was cleared/removed, the `topic` parameter will be `null`.
|
906
|
937
|
|
907
|
938
|
=== Channel/User events
|
908
|
939
|
|
|
@@ -1023,6 +1054,156 @@ TODO
|
1023
|
1054
|
|
1024
|
1055
|
TODO
|
1025
|
1056
|
|
|
1057
|
+=== react
|
|
1058
|
+
|
|
1059
|
+TODO
|
|
1060
|
+
|
|
1061
|
+=== reply
|
|
1062
|
+
|
|
1063
|
+TODO
|
|
1064
|
+
|
1026
|
1065
|
== IRCv3 support
|
1027
|
1066
|
|
1028
|
|
-TODO
|
|
1067
|
+The following table shows KtIrc's IRCv3 support as of this release:
|
|
1068
|
+
|
|
1069
|
+[cols=3,options="header"]
|
|
1070
|
+|===
|
|
1071
|
+| Feature
|
|
1072
|
+| Status
|
|
1073
|
+| Notes
|
|
1074
|
+
|
|
1075
|
+3+h| Capability negotiation
|
|
1076
|
+
|
|
1077
|
+| https://ircv3.net/specs/core/capability-negotiation.html[CAP]
|
|
1078
|
+| Supported
|
|
1079
|
+| See <<Supported capabilities>> for the caps KtIrc will negotiate
|
|
1080
|
+
|
|
1081
|
+| https://ircv3.net/specs/core/capability-negotiation.html#cap-ls-version[CAP 302]
|
|
1082
|
+| Supported
|
|
1083
|
+| See <<Supported capabilities>> for the caps KtIrc will negotiate
|
|
1084
|
+
|
|
1085
|
+| https://ircv3.net/specs/core/capability-negotiation.html#cap-notify[cap-notify]
|
|
1086
|
+2+| Not yet supported
|
|
1087
|
+
|
|
1088
|
+3+h| Published specifications
|
|
1089
|
+
|
|
1090
|
+| https://ircv3.net/specs/extensions/account-notify-3.1.html[account-notify] v3.1
|
|
1091
|
+| Supported
|
|
1092
|
+| See <<UserAccountChanged>>
|
|
1093
|
+
|
|
1094
|
+| https://ircv3.net/specs/extensions/account-tag-3.2.html[account-tag] v3.2
|
|
1095
|
+| Supported
|
|
1096
|
+| Accounts are automatically added to `User` properties in events
|
|
1097
|
+
|
|
1098
|
+| https://ircv3.net/specs/extensions/away-notify-3.1.html[away-notify] v3.1
|
|
1099
|
+| Partial support
|
|
1100
|
+| Negotiated but not yet exposed as an event
|
|
1101
|
+
|
|
1102
|
+| https://ircv3.net/specs/extensions/batch-3.2.html[batch] v3.2
|
|
1103
|
+| Supported
|
|
1104
|
+| See <<BatchReceived>>
|
|
1105
|
+
|
|
1106
|
+| https://ircv3.net/specs/extensions/chghost-3.2.html[chghost] v3.2
|
|
1107
|
+| Supported
|
|
1108
|
+| See <<UserHostChanged>>
|
|
1109
|
+
|
|
1110
|
+| https://ircv3.net/specs/extensions/echo-message-3.2.html[echo-message] v3.2
|
|
1111
|
+| Supported
|
|
1112
|
+| See also the `alwaysEchoMessages` <<Behaviour>>
|
|
1113
|
+
|
|
1114
|
+| https://ircv3.net/specs/extensions/extended-join-3.1.html[extended-join] v3.1
|
|
1115
|
+| Supported
|
|
1116
|
+| Additional details are automatically added to `User` properties in events
|
|
1117
|
+
|
|
1118
|
+| https://ircv3.net/specs/extensions/invite-notify-3.2.html[invite-notify] v3.2
|
|
1119
|
+2+| Not yet supported
|
|
1120
|
+
|
|
1121
|
+| https://ircv3.net/specs/extensions/message-tags.html[message-tags]
|
|
1122
|
+| Supported
|
|
1123
|
+| Exposed in the metadata property of <<Events>>
|
|
1124
|
+
|
|
1125
|
+| https://ircv3.net/specs/core/monitor-3.2.html[monitor]
|
|
1126
|
+2+| Not yet supported
|
|
1127
|
+
|
|
1128
|
+| https://ircv3.net/specs/extensions/multi-prefix-3.1.html[multi-prefix] v3.1
|
|
1129
|
+| Supported
|
|
1130
|
+| Automatically included in <<ChannelState>>
|
|
1131
|
+
|
|
1132
|
+| https://ircv3.net/specs/extensions/sasl-3.1.html[SASL] v3.1
|
|
1133
|
+| Supported
|
|
1134
|
+| See <<SASL configuration>>
|
|
1135
|
+
|
|
1136
|
+| https://ircv3.net/specs/extensions/sasl-3.2.html[SASL] v3.2
|
|
1137
|
+| Partial support
|
|
1138
|
+| Notifications via `cap-notify` not yet supported. See <<SASL configuration>>
|
|
1139
|
+
|
|
1140
|
+| https://ircv3.net/specs/extensions/server-time-3.2.html[server-time] v3.2
|
|
1141
|
+| Supported
|
|
1142
|
+| Exposed in the metadata property of <<Events>>
|
|
1143
|
+
|
|
1144
|
+| https://ircv3.net/specs/extensions/sts.html[sts]
|
|
1145
|
+2+| Not yet supported
|
|
1146
|
+
|
|
1147
|
+| https://ircv3.net/specs/extensions/userhost-in-names-3.2.html[userhost-in-names] v3.2
|
|
1148
|
+| Supported
|
|
1149
|
+| Automatically included in <<UserState>>
|
|
1150
|
+
|
|
1151
|
+| https://ircv3.net/specs/extensions/webirc.html[webirc]
|
|
1152
|
+2+| Not yet supported
|
|
1153
|
+
|
|
1154
|
+3+h| Draft specifications
|
|
1155
|
+
|
|
1156
|
+| https://github.com/ircv3/ircv3-specifications/pull/363[brb]
|
|
1157
|
+2+| Not yet supported
|
|
1158
|
+
|
|
1159
|
+| https://github.com/ircv3/ircv3-specifications/pull/308[channel renaming]
|
|
1160
|
+2+| Not yet supported
|
|
1161
|
+
|
|
1162
|
+| https://github.com/ircv3/ircv3-specifications/pull/349[chathistory]
|
|
1163
|
+2+| Not yet supported
|
|
1164
|
+
|
|
1165
|
+| https://github.com/ircv3/ircv3-specifications/pull/346[delivered]
|
|
1166
|
+2+| Not yet supported
|
|
1167
|
+
|
|
1168
|
+| https://github.com/ircv3/ircv3-specifications/pull/304[editmsg]
|
|
1169
|
+2+| Not yet supported
|
|
1170
|
+
|
|
1171
|
+| https://ircv3.net/specs/extensions/labeled-response.html[labeled-response]
|
|
1172
|
+| Supported
|
|
1173
|
+| Exposed in the metadata property of <<Events>>
|
|
1174
|
+
|
|
1175
|
+| https://ircv3.net/specs/extensions/message-ids.html[message-ids]
|
|
1176
|
+2+| Not yet supported
|
|
1177
|
+
|
|
1178
|
+| https://github.com/ircv3/ircv3-specifications/pull/330[migrate]
|
|
1179
|
+2+| Not yet supported
|
|
1180
|
+
|
|
1181
|
+| https://ircv3.net/specs/client-tags/react.html[react]
|
|
1182
|
+| Partial support
|
|
1183
|
+| Sending via <<react>> method, no events generated
|
|
1184
|
+
|
|
1185
|
+| https://github.com/ircv3/ircv3-specifications/pull/347[read]
|
|
1186
|
+2+| Not yet supported
|
|
1187
|
+
|
|
1188
|
+| https://github.com/ircv3/ircv3-specifications/pull/276[register]
|
|
1189
|
+2+| Not yet supported
|
|
1190
|
+
|
|
1191
|
+| https://ircv3.net/specs/client-tags/reply.html[reply]
|
|
1192
|
+| Partial support
|
|
1193
|
+| Sending via <<reply>> method, not processed on incoming messages
|
|
1194
|
+
|
|
1195
|
+| https://github.com/ircv3/ircv3-specifications/pull/306[resume]
|
|
1196
|
+2+| Not yet supported
|
|
1197
|
+
|
|
1198
|
+| https://github.com/ircv3/ircv3-specifications/pull/361[setname]
|
|
1199
|
+2+| Not yet supported
|
|
1200
|
+
|
|
1201
|
+| https://github.com/ircv3/ircv3-specifications/pull/357[standard replies]
|
|
1202
|
+2+| Not yet supported
|
|
1203
|
+
|
|
1204
|
+| https://github.com/ircv3/ircv3-specifications/pull/348[typing]
|
|
1205
|
+2+| Not yet supported
|
|
1206
|
+
|
|
1207
|
+3+^h|Vendor specifications
|
|
1208
|
+
|
|
1209
|
+|===
|