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.7k 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.
    • RedNaxR Offline
      RedNax Module Developer
      last edited by

      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 Reply Quote 2
      • B Offline
        Blastitt @RedNax
        last edited by

        @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

          This is awesome! Thanks for making this!!

          1 Reply Last reply Reply Quote 1
          • N Offline
            Nexxic
            last edited by

            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 Reply Quote 0
            • B Offline
              Blastitt @Nexxic
              last edited by

              @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 Reply Quote 0
              • RedNaxR Offline
                RedNax Module Developer
                last edited by

                Submitted another pull request just now…

                1 Reply Last reply Reply Quote 0
                • J Offline
                  Jopyth Moderator
                  last edited by

                  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

                  RedNaxR 1 Reply Last reply Reply Quote 0
                  • RedNaxR Offline
                    RedNax Module Developer @Jopyth
                    last edited by

                    @Jopyth Yes please!

                    1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jopyth Moderator @Blastitt
                      last edited by

                      @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