Reference

Use this page to learn how to make countdowns for your server.

How it works

You add a set of countdowns for your server. Then, everyday at 10:30 PM Romania time (GMT+2), the bot will send a reminder.

Obtaining the Webhook URL

The Webhook URL is a link provided by Discord. You need to have sufficient permissions to be able to create webhook integrations.

  1. Go into the settings of the channel you want to add a Webhook to.
  2. Select Integrations.
  3. From Webhooks, select Create Webhook.
  4. From the newly created Webhook, select a name for it, a picture (you can change them later).
  5. Click Copy Webhook URL.

Webhook Metadata

This is just some information that is stored along the webhook URL.

Name
A name for the webhook, that currently only appears in logs. Mostly useless but to give it some meaningful name.

Webhook Elements

These are the core of the bot. Each webhook URL has attached a number of "elements", which get processed and translated into Discord embeds, which get sent directly to Discord.

There isn't a hard limit, but any more than 40 elements will probably cause you to hit Discord's ratelimit.

Each element has a type:

normalCountdowns
A normal set of countdowns. This contains an embed with a set of events, and displays the remaining time until the events.
emojiDay
An emoji representation of "how many days until".
message
Displays a static message.

General element structure

Any element must contain the properties:

type
The type of the element, from the list above.
color
The embed's color: an integer (hexadecimal is not allowed). Google "color picker", take the hex code, then convert it to decimal.
This property is ignored for message elements!
thumbnail
A Discord-compatible thumbnail object. It contains a property named url with the URL of the thumbnail. Read more on Discord's docs
This property is ignored for message elements!

normalCountdowns

This object contains the following properties:

countdowns
An array of countdowns.

Each countdown in the list is an object containing the following properties:

name
The displayed name of the countdown.
date
An ISO 8601 formatted date string.
appendWeeks [optional]
A boolean that indicates whether to append the number of weeks to the number of days.

emojiDay

This object contains the following properties:

name
The displayed name of the countdown.
emoji
The emoji to display.
date
An ISO 8601 formatted date string.

message

This object contains the following properties:

embed
A Discord-compatible embed. Read more here

JSON Example

[
  {
    "type": "message",
    "embed": {
      "color": 1290139,
      "description": "An example element from CountdownDiscord 2",
      "fields": [
        {
          "name": "I can put",
          "value": "whatever I want here"
        }
      ]
    }
  },
  {
    "type": "normalCountdowns",
    "color": 1290139,
    "countdowns": [
      {
        "name": ":fire: Bacalaureat :fire:",
        "date": "2021-06-28T07:00:00",
        "comment": "any additional properties will politely be ignored"
      },
      {
        "name": "The Fire of Notre Dame",
        "date": "2020-03-22T00:00:00",
        "commentz": "i can't be bothered to look it up"
      }
    ]
  },
  {
    "type": "emojiDay",
    "color": 1290110,
    "name": "Amogus 2 Release Date",
    "emoji": ":japanese_goblin:",
    "emojiComment": "it can be any string, really",
    "date": "2021-08-01T00:00:00"
  }
]