aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/server/TwitterManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server/src/main/java/com/juick/server/TwitterManager.java')
-rw-r--r--juick-server/src/main/java/com/juick/server/TwitterManager.java50
1 files changed, 35 insertions, 15 deletions
diff --git a/juick-server/src/main/java/com/juick/server/TwitterManager.java b/juick-server/src/main/java/com/juick/server/TwitterManager.java
index 35dca744..411298bc 100644
--- a/juick-server/src/main/java/com/juick/server/TwitterManager.java
+++ b/juick-server/src/main/java/com/juick/server/TwitterManager.java
@@ -17,7 +17,7 @@
package com.juick.server;
import com.juick.Message;
-import com.juick.server.component.MessageEvent;
+import com.juick.server.component.*;
import com.juick.service.CrosspostService;
import com.juick.util.MessageUtils;
import org.apache.commons.lang3.StringUtils;
@@ -37,7 +37,7 @@ import javax.inject.Inject;
* @author Ugnich Anton
*/
@Component
-public class TwitterManager {
+public class TwitterManager implements NotificationListener {
private static Logger logger = LoggerFactory.getLogger(TwitterManager.class);
@@ -49,19 +49,6 @@ public class TwitterManager {
@Value("${twitter_consumer_secret:secret}")
private String twitter_consumer_secret;
- @Async
- @EventListener
- public void onApplicationEvent(@Nonnull MessageEvent event) {
- Message msg = event.getMessage();
- if (msg.getMid() > 0 && msg.getRid() == 0) {
- if (StringUtils.isNotEmpty(crosspostService.getTwitterName(msg.getUser().getUid()))) {
- if (msg.getTags().stream().noneMatch(t -> t.getName().equals("notwitter"))) {
- twitterPost(msg);
- }
- }
- }
- }
-
void twitterPost(final com.juick.Message jmsg) {
crosspostService.getTwitterToken(jmsg.getUser().getUid()).ifPresent(t -> {
String status = MessageUtils.getMessageHashTags(jmsg) + StringUtils.defaultString(jmsg.getText());
@@ -83,4 +70,37 @@ public class TwitterManager {
}
});
}
+
+ @Override
+ public void processMessageEvent(MessageEvent messageEvent) {
+ Message msg = messageEvent.getMessage();
+ if (MessageUtils.isPM(msg) || MessageUtils.isReply(msg) || msg.isService()) {
+ return;
+ }
+ if (StringUtils.isNotEmpty(crosspostService.getTwitterName(msg.getUser().getUid()))) {
+ if (msg.getTags().stream().noneMatch(t -> t.getName().equals("notwitter"))) {
+ twitterPost(msg);
+ }
+ }
+ }
+
+ @Override
+ public void processSubscribeEvent(SubscribeEvent subscribeEvent) {
+
+ }
+
+ @Override
+ public void processLikeEvent(LikeEvent likeEvent) {
+
+ }
+
+ @Override
+ public void processPingEvent(PingEvent pingEvent) {
+
+ }
+
+ @Override
+ public void processMessageReadEvent(MessageReadEvent messageReadEvent) {
+
+ }
}