Skip to content
a modified version of both compliments and MMM-kudos to show a different message based on the day of the week
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
Screenshot (43).png


This is a module for the MagicMirror².

The module is based on the default compliment & MMM-kudos modules. MMM-DailySpecials displays special out of a set of predefined ones. Depending on the current day the used special set can be defined.



Installing this module:

$ cd MagicMirror
$ cd modules
$ git clone
$ cd MMM-DailySpecials
$ npm i

Using the module

To use this module, add the following configuration block to the modules array in the config/config.js file:

    modules: [
            disabled: false,
            module: "MMM-DailySpecials",
            header: "Today's Drink Special...",
            position: "middle_center",
            config: {
                startOfDay: (2, 0, 0, 0), // starts the day at 2:00 am
                endOfDay: (1, 59, 59, 999), // ends the day at 1:59 am
                shrinkLimit: 50, // to limit number of characters 
                updateInterval: 86400000, // 24 hours OR 1 day
                remoteFile: null, // to use a JSON file for your specials list IE: _DailySpecials.json_
                special: {
                    Sunday: [
                        "$5 Lomg Island Iced Tea"
                    Monday: [
                        "$1.50 Shots"
                    Tuesday: [
                        "$2 Jello Shots"
                    Wednesday: [
                        "Ladies Night - Screaming Orgasm - $3"
                    Thursday: [
                        "Throwback Thursday - $1 draws!"
                    Friday: [
                        "Friday Fight Night - $4 Zombie"
                    Saturday: [
                        "$2 Can Beer"

Configuration options

Option Description
startOfDay set the time to start the day at a certain time.

Possible values: SEE BELOW FOR VALUES
Default Value: (0,0,0,0)
endOfDay set the time to end the day at a certain time.

Possible values: SEE BELOW FOR CHART
Default Value: (23,59,59,999)
daymap A map which defines the start days of specials sets.
shrinkLimit Length of special at which a smaller font is used to display it.
classes Optional CSS classes used to display the kudo.
shrinkClasses Optional CSS classes used to shrink the kudo.
updateInterval How often does the specials have to change? (Milliseconds)

**for daily use 86400000
Default value: 86400000 (24 hours or 1 day)
fadeSpeed Speed of the update animation. (Milliseconds)

Possible values:0 - 5000
Default value: 500 (1/2 second)
specials The list of specials.

Possible values: An object with some arrays - the names are defined in the values of the daymap object plus the default array special. See specials configuration below.
Default value: See specials configuration below.
remoteFile External file from which to load the specials.

Possible values: Path to a JSON file containing specials, configured as per the value of the specials configuration.
Default value: null (Does not load from file)

startOfDay/endOfDay possible values: Must be set as 4 numbers in () separated by commas, IE: startOfDay: (8,30,0,0) will start the day at 8:30 am.
Must have a corresponding end time, IE: endOfDay: (7,29,59,999) will end the day at 7:29:59:999 am.
Values: first number represents the hour (0-23), second number represents the minutes (0-59), third number represents the seconds (0-59), the fourth number represents the milliseconds (0-999).

You can’t perform that action at this time.