From c576c003716851863c832b5e0dacb9186516f167 Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Wed, 19 Jul 2023 23:50:14 +0300 Subject: Migrate to Twitter API 2.0 --- src/main/java/com/juick/TwitterManager.java | 41 ++++++----------------------- 1 file changed, 8 insertions(+), 33 deletions(-) (limited to 'src/main/java/com/juick/TwitterManager.java') diff --git a/src/main/java/com/juick/TwitterManager.java b/src/main/java/com/juick/TwitterManager.java index f4cab89b..7a01debd 100644 --- a/src/main/java/com/juick/TwitterManager.java +++ b/src/main/java/com/juick/TwitterManager.java @@ -16,18 +16,15 @@ */ package com.juick; -import com.juick.model.Message; -import com.juick.www.api.SystemActivity; +import com.juick.service.TwitterService; import com.juick.service.UserService; -import com.juick.service.component.*; +import com.juick.service.component.NotificationListener; +import com.juick.service.component.PingEvent; +import com.juick.service.component.SystemEvent; import com.juick.util.MessageUtils; import com.juick.util.TagUtils; - +import com.juick.www.api.SystemActivity; import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import twitter4j.Twitter; import javax.inject.Inject; @@ -36,33 +33,11 @@ import javax.inject.Inject; */ public class TwitterManager implements NotificationListener { - private static final Logger logger = LoggerFactory.getLogger(TwitterManager.class); - @Inject private UserService userService; - @Value("${twitter_consumer_key:12345678}") - private String twitter_consumer_key; - @Value("${twitter_consumer_secret:secret}") - private String twitter_consumer_secret; - - void twitterPost(final Message jmsg) { - userService.getTwitterToken(jmsg.getUser().getUid()).ifPresent(t -> { - String status = MessageUtils.getMessageHashTags(jmsg) + StringUtils.defaultString(jmsg.getText()); - if (status.length() > 253) { - status = status.substring(0, 252) + "…"; - } - status += " http://juick.com/" + jmsg.getMid(); - var twitter = Twitter.newBuilder() - .oAuthConsumer(twitter_consumer_key, twitter_consumer_secret) - .oAuthAccessToken(t.token(), t.secret()).build(); - try { - twitter.v1().tweets().updateStatus(status); - } catch (Exception e) { - logger.info("Twitter exception {}: {}", jmsg.getUser().getName(), e); - } - }); - } + @Inject + private TwitterService twitterService; @Override public void processSystemEvent(SystemEvent systemEvent) { @@ -74,7 +49,7 @@ public class TwitterManager implements NotificationListener { } if (StringUtils.isNotEmpty(userService.getTwitterName(msg.getUser().getUid()))) { if (TagUtils.hasNoTag(msg.getTags(), "notwitter")) { - twitterPost(msg); + twitterService.twitterPost(msg); } } } -- cgit v1.2.3