@@ -22,51 +22,51 @@ import org.matrix.android.sdk.api.session.identity.ThreePid
22
22
/* *
23
23
* Represent a parsed command
24
24
*/
25
- sealed class ParsedCommand {
25
+ sealed interface ParsedCommand {
26
26
// This is not a Slash command
27
- object ErrorNotACommand : ParsedCommand()
27
+ object ErrorNotACommand : ParsedCommand
28
28
29
- object ErrorEmptySlashCommand : ParsedCommand()
29
+ object ErrorEmptySlashCommand : ParsedCommand
30
30
31
31
// Unknown/Unsupported slash command
32
- class ErrorUnknownSlashCommand (val slashCommand : String ) : ParsedCommand()
32
+ data class ErrorUnknownSlashCommand (val slashCommand : String ) : ParsedCommand
33
33
34
34
// A slash command is detected, but there is an error
35
- class ErrorSyntax (val command : Command ) : ParsedCommand()
35
+ data class ErrorSyntax (val command : Command ) : ParsedCommand
36
36
37
37
// Valid commands:
38
38
39
- class SendPlainText (val message : CharSequence ) : ParsedCommand()
40
- class SendEmote (val message : CharSequence ) : ParsedCommand()
41
- class SendRainbow (val message : CharSequence ) : ParsedCommand()
42
- class SendRainbowEmote (val message : CharSequence ) : ParsedCommand()
43
- class BanUser (val userId : String , val reason : String? ) : ParsedCommand()
44
- class UnbanUser (val userId : String , val reason : String? ) : ParsedCommand()
45
- class IgnoreUser (val userId : String ) : ParsedCommand()
46
- class UnignoreUser (val userId : String ) : ParsedCommand()
47
- class SetUserPowerLevel (val userId : String , val powerLevel : Int? ) : ParsedCommand()
48
- class ChangeRoomName (val name : String ) : ParsedCommand()
49
- class Invite (val userId : String , val reason : String? ) : ParsedCommand()
50
- class Invite3Pid (val threePid : ThreePid ) : ParsedCommand()
51
- class JoinRoom (val roomAlias : String , val reason : String? ) : ParsedCommand()
52
- class PartRoom (val roomAlias : String? ) : ParsedCommand()
53
- class ChangeTopic (val topic : String ) : ParsedCommand()
54
- class RemoveUser (val userId : String , val reason : String? ) : ParsedCommand()
55
- class ChangeDisplayName (val displayName : String ) : ParsedCommand()
56
- class ChangeDisplayNameForRoom (val displayName : String ) : ParsedCommand()
57
- class ChangeRoomAvatar (val url : String ) : ParsedCommand()
58
- class ChangeAvatarForRoom (val url : String ) : ParsedCommand()
59
- class SetMarkdown (val enable : Boolean ) : ParsedCommand()
60
- object ClearScalarToken : ParsedCommand()
61
- class SendSpoiler (val message : String ) : ParsedCommand()
62
- class SendShrug (val message : CharSequence ) : ParsedCommand()
63
- class SendLenny (val message : CharSequence ) : ParsedCommand()
64
- object DiscardSession : ParsedCommand()
65
- class ShowUser (val userId : String ) : ParsedCommand()
66
- class SendChatEffect (val chatEffect : ChatEffect , val message : String ) : ParsedCommand()
67
- class CreateSpace (val name : String , val invitees : List <String >) : ParsedCommand()
68
- class AddToSpace (val spaceId : String ) : ParsedCommand()
69
- class JoinSpace (val spaceIdOrAlias : String ) : ParsedCommand()
70
- class LeaveRoom (val roomId : String ) : ParsedCommand()
71
- class UpgradeRoom (val newVersion : String ) : ParsedCommand()
39
+ data class SendPlainText (val message : CharSequence ) : ParsedCommand
40
+ data class SendEmote (val message : CharSequence ) : ParsedCommand
41
+ data class SendRainbow (val message : CharSequence ) : ParsedCommand
42
+ data class SendRainbowEmote (val message : CharSequence ) : ParsedCommand
43
+ data class BanUser (val userId : String , val reason : String? ) : ParsedCommand
44
+ data class UnbanUser (val userId : String , val reason : String? ) : ParsedCommand
45
+ data class IgnoreUser (val userId : String ) : ParsedCommand
46
+ data class UnignoreUser (val userId : String ) : ParsedCommand
47
+ data class SetUserPowerLevel (val userId : String , val powerLevel : Int? ) : ParsedCommand
48
+ data class ChangeRoomName (val name : String ) : ParsedCommand
49
+ data class Invite (val userId : String , val reason : String? ) : ParsedCommand
50
+ data class Invite3Pid (val threePid : ThreePid ) : ParsedCommand
51
+ data class JoinRoom (val roomAlias : String , val reason : String? ) : ParsedCommand
52
+ data class PartRoom (val roomAlias : String? ) : ParsedCommand
53
+ data class ChangeTopic (val topic : String ) : ParsedCommand
54
+ data class RemoveUser (val userId : String , val reason : String? ) : ParsedCommand
55
+ data class ChangeDisplayName (val displayName : String ) : ParsedCommand
56
+ data class ChangeDisplayNameForRoom (val displayName : String ) : ParsedCommand
57
+ data class ChangeRoomAvatar (val url : String ) : ParsedCommand
58
+ data class ChangeAvatarForRoom (val url : String ) : ParsedCommand
59
+ data class SetMarkdown (val enable : Boolean ) : ParsedCommand
60
+ object ClearScalarToken : ParsedCommand
61
+ data class SendSpoiler (val message : String ) : ParsedCommand
62
+ data class SendShrug (val message : CharSequence ) : ParsedCommand
63
+ data class SendLenny (val message : CharSequence ) : ParsedCommand
64
+ object DiscardSession : ParsedCommand
65
+ data class ShowUser (val userId : String ) : ParsedCommand
66
+ data class SendChatEffect (val chatEffect : ChatEffect , val message : String ) : ParsedCommand
67
+ data class CreateSpace (val name : String , val invitees : List <String >) : ParsedCommand
68
+ data class AddToSpace (val spaceId : String ) : ParsedCommand
69
+ data class JoinSpace (val spaceIdOrAlias : String ) : ParsedCommand
70
+ data class LeaveRoom (val roomId : String ) : ParsedCommand
71
+ data class UpgradeRoom (val newVersion : String ) : ParsedCommand
72
72
}
0 commit comments