3 Commits 112ba0c9cb ... fe4755762d

Author SHA1 Message Date
  Martin Passard fe4755762d feat: Envoi d'informations sur flux RSS 6 years ago
  Martin Passard fa180816d9 Fix: get timeout depuis le fichier de config 6 years ago
  Martin Passard 78419164e5 feat: Choix du démarage ou non de twitter et mastodon 6 years ago

+ 2 - 0
ressources/config/default.properties

@@ -60,3 +60,5 @@ Mastodon_access_token=""
 Mastodon_instance=toot.aquilenet.fr
 Mastodon_enable=true
 
+#Twitter
+Twitter_enable=true

+ 8 - 6
src/main/java/bot/irc/main/Main.java

@@ -42,14 +42,16 @@ public class Main {
 			IRCBOT = new IRCBot();
 			BOTS.add(IRCBOT);
 			
-			TWITTER = new TwitterBot();
-			BOTS.add(TWITTER);
-			TWITTER.start();
+			if(Config.getPropertyAsBoolean("Twitter_enable")) {
+				TWITTER = new TwitterBot();
+				BOTS.add(TWITTER);
+				TWITTER.start();
+			}
 			
 			RSSChecker rcheck = new RSSChecker(Config.getProperty("RSS_address"), BOTS);
 			RSS_DATA_REMAINDER = rcheck.getRemainder();
 			
-			if(Config.getPropertyAsBoolean("mastodon_enable")) {
+			if(Config.getPropertyAsBoolean("Mastodon_enable")) {
 				MASTODON = new MastodonBot();
 				BOTS.add(MASTODON);
 				MASTODON.start();
@@ -71,8 +73,8 @@ public class Main {
 			
 			rcheck.start();
 			RSS_DATA_REMAINDER.addObserver(IRCBOT);
-			RSS_DATA_REMAINDER.addObserver(TWITTER);
-			RSS_DATA_REMAINDER.addObserver(MASTODON);
+			if(Config.getPropertyAsBoolean("Twitter_enable")) RSS_DATA_REMAINDER.addObserver(TWITTER);
+			if(Config.getPropertyAsBoolean("Mastodon_enable")) RSS_DATA_REMAINDER.addObserver(MASTODON);
 			
 			
 		}catch(ConnectException ce) {

+ 2 - 1
src/main/java/bot/irc/rss/RSSChecker.java

@@ -18,6 +18,7 @@ import org.w3c.dom.NodeList;
 import org.xml.sax.SAXException;
 
 import bot.irc.main.Bot;
+import bot.irc.main.Config;
 import bot.irc.main.Main;
 
 /**
@@ -30,7 +31,7 @@ public class RSSChecker implements Runnable {
 
 	private Thread thread;
 	private final String threadName="RssChecker";
-	private long timeout=3600;
+	private long timeout=Config.getPropertyAsLong("RSS_new_article_check");
 	private String rssaddr;  // Must be https://planet.ffdn.org/atom.xml
 	boolean end = false;
 	private DocumentBuilderFactory docbfact=DocumentBuilderFactory.newInstance();

+ 30 - 2
src/main/java/bot/irc/socials/MastodonBot.java

@@ -235,9 +235,37 @@ public class MastodonBot implements Bot, Runnable,Observer {
 	}
 	@Override
 	public void sendRSSMessage(List<String> messages) {
-		// TODO Auto-generated method stub
 		
-	}
+		
+		Response r = client.post("statuses", new RequestBody() {
+			
+			@Override
+			public void writeTo(BufferedSink sink) throws IOException {
+				String aff = "";
+				for(String s : messages) {
+					aff += s+"\n";
+				}
+				JSONObject jo = new JSONObject();
+					jo.put("status", aff);
+					jo.put("visibility", "public");
+					sink.writeUtf8(jo.toString());
+					sink.flush();
+				}
+				
+			
+			
+			@Override
+			public MediaType contentType() {
+				return MediaType.parse("application/json");
+			}
+		});
+		if(Main.isDebug()) {
+			System.out.println(r.networkResponse());
+		}
+		
+		
+
+		}