]>
jfr.im git - irc/rizon/acid.git/blob - acid/src/main/java/net/rizon/acid/messages/TMode.java
5694efae798577fdc32960a660fbaeb5fcc884f7
2 * Copyright (C) 2017 Kristina Brooks. All rights reserved.
4 * Support for TS6 TMODE.
5 * Format is :<SID|UID> TMODE <TS> <CHANNAME> <MODESTRING>
8 package net
.rizon
.acid
.messages
;
10 import net
.rizon
.acid
.core
.Acidictive
;
11 import net
.rizon
.acid
.core
.Channel
;
12 import net
.rizon
.acid
.core
.Message
;
13 import net
.rizon
.acid
.core
.Server
;
14 import net
.rizon
.acid
.core
.User
;
15 import org
.slf4j
.Logger
;
16 import org
.slf4j
.LoggerFactory
;
18 public class TMode
extends Message
20 private static final Logger log
= LoggerFactory
.getLogger(TMode
.class);
28 private void handleTsModeChange(String setBy
, String
[] params
) {
29 Channel chan
= Channel
.findChannel(params
[1]);
30 if (chan
== null || shouldDropTsMessage(chan
.getTS(), params
[0]))
33 String modes
= params
[2];
34 for (int i
= 3; i
< params
.length
; i
++)
35 modes
+= " " + params
[i
];
37 Acidictive
.onChanMode(setBy
, chan
, modes
);
39 if (chan
.size() == 0 && !chan
.hasMode('z'))
44 * old implementation handled these in ::on which is redundant since
45 * AcidCore::processMessage already does these lookups, no need to
50 public void onUser(User user
, String
[] params
)
52 handleTsModeChange(user
.getNick(), params
);
56 public void onServer(Server server
, String
[] params
)
58 handleTsModeChange(server
.getName(), params
);