• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

DailyXKCD

Scheduled Pinned Locked Moved Entertainment
15 Posts 5 Posters 13.2k Views 8 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    RedNax Module Developer
    last edited by Jul 18, 2016, 6:06 AM

    Hi!

    Since new comics only come out on monday, wednesday and friday i made a slight modification (ugly hack) to your node_helper.js…

    On non comic days, after getting the current comic, the node_helper will examines the num value and generate a random number between 1 and said value. It will then get the random comic and return it in the payload.

    	socketNotificationReceived: function(notification, payload) {
    		var self = this;
    		console.log("Notification: " + notification + " Payload: " + payload);
    		
    		if(notification === "GET_COMIC"){
    			
    			var comicJsonUri = payload.config.dailyJsonUrl;
    			var comic;
    			var rndcomic;
    			var rndUrl;
    			var body;
    			var d = new Date();
    			var n = d.getDay(); 
    			
    			request(comicJsonUri, function (error, response, body) {
    				if (!error && response.statusCode == 200) {
    					console.log(body);
    					if ( this.n == 1 || this.n == 3 || this.n == 5 ) {
    							self.sendSocketNotification("COMIC", JSON.parse(body));
    					} else {
    						this.comic = JSON.parse(body); 
    						this.rndcomic = Math.floor((Math.random() * this.comic.num) + 1); 
    						this.rndUrl = "http://xkcd.com/" + this.rndcomic + "/info.0.json";
    						request(this.rndUrl, function (error, response, body) {
    							if (!error && response.statusCode == 200) {
    								console.log(body);
    								self.sendSocketNotification("COMIC", JSON.parse(body));
    							}
    						});
    					}
    				}
    			});
    		}
    	},
    
    B 1 Reply Last reply Jul 18, 2016, 11:05 PM Reply Quote 2
    • B Offline
      Blastitt @RedNax
      last edited by Jul 18, 2016, 11:05 PM

      @RedNax

      I like it! Put in a pull request if you want it in the official repo. Also maybe add a config option to turn the feature off (if someone just wants to see new comics only)?

      1 Reply Last reply Reply Quote 0
      • M Offline
        mav29x
        last edited by Jul 19, 2016, 7:36 PM

        This is awesome! Thanks for making this!!

        1 Reply Last reply Reply Quote 1
        • N Offline
          Nexxic
          last edited by Oct 20, 2016, 4:15 PM

          Beautiful little module! I was wondering though, is it possible to adjust the size of the comic? I found it quite big for my mirror. Also, did @RedNax modification get into the module? Tried to just copy-paste it, but didn’t get it to work… (Hope I’m posting in the correct thread for this :P)

          B 1 Reply Last reply Oct 20, 2016, 8:06 PM Reply Quote 0
          • B Offline
            Blastitt @Nexxic
            last edited by Oct 20, 2016, 8:06 PM

            @Nexxic In the only pull request made, the author retracted it. I’ve had a couple people say they were working on a pull request for fixing the size of the larger comics, but nothing’s come of it yet. I’m too busy at the moment, otherwise I would do it myself.

            J 1 Reply Last reply Oct 25, 2016, 9:18 PM Reply Quote 0
            • R Offline
              RedNax Module Developer
              last edited by Oct 21, 2016, 6:37 AM

              Submitted another pull request just now…

              1 Reply Last reply Reply Quote 0
              • J Offline
                Jopyth Moderator
                last edited by Oct 21, 2016, 7:23 AM

                I modified the module, so that it vertically scrolls through the comic. This might be a good option to limit the size, but also be able to see the whole comic (usually the comics have a max. width of 800px, but can be quite high, from time to time).

                It worked pretty well for this recent one. If you guys want, I can make a pull request.

                Helpful sticky: How to troubleshoot

                R 1 Reply Last reply Oct 21, 2016, 9:40 AM Reply Quote 0
                • R Offline
                  RedNax Module Developer @Jopyth
                  last edited by Oct 21, 2016, 9:40 AM

                  @Jopyth Yes please!

                  1 Reply Last reply Reply Quote 0
                  • J Offline
                    Jopyth Moderator @Blastitt
                    last edited by Oct 25, 2016, 9:18 PM

                    @Blastitt @RedNax Please review PR #5.

                    Helpful sticky: How to troubleshoot

                    1 Reply Last reply Reply Quote 0
                    • 1
                    • 2
                    • 2 / 2
                    • First post
                      Last post
                    Enjoying MagicMirror? Please consider a donation!
                    MagicMirror created by Michael Teeuw.
                    Forum managed by Sam, technical setup by Karsten.
                    This forum is using NodeBB as its core | Contributors
                    Contact | Privacy Policy