[{"data":1,"prerenderedAt":21},["ShallowReactive",2],{"content:integrations\u002Fdiscord":3},{"body":4,"toc":5},"\u003Ch1>Schedule Discord messages with a webhook\u003C\u002Fh1>\n\u003Cp>Send messages to a Discord channel on a schedule: server announcements, daily reminders, game-night pings, or reports filled in from any API. cronservices posts through a channel webhook, so you don&#39;t need to host a bot.\u003C\u002Fp>\n\u003Ch2 id=\"example-a-weekly-announcement\">\u003Ca class=\"anchor\" href=\"#example-a-weekly-announcement\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Example: a weekly announcement\u003C\u002Fh2>\n\u003Cp>Every Friday at 18:00 Paris time, remind the server about game night:\u003C\u002Fp>\n\u003Cdiv class=\"code-block site-code\">\u003Cspan class=\"code-lang\">json\u003C\u002Fspan>\u003Cpre>\u003Ccode>\u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">name\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">Game night reminder\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">cron\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">expression\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">0 18 * * FRI\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">time_zone\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">Europe\u002FParis\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">nodes\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">[\u003C\u002Fspan>\n    \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">id\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">post\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">discord_send_message\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan>\n        \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">webhook_url\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">https:\u002F\u002Fdiscord.com\u002Fapi\u002Fwebhooks\u002F123456789012345678\u002FabcDEF_ghi-JKL\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n        \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">content\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">@everyone Game night starts in 2 hours! 🎲\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n        \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">username\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">Events\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\n  \u003Cspan style=\"color:#9ABDF5\">]\u003C\u002Fspan>\n\u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"icon-btn code-copy\" data-copy aria-label=\"Copy code\">\u003Csvg class=\"icon\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Ch2 id=\"example-a-daily-exchange-rate-in-a-trading-channel\">\u003Ca class=\"anchor\" href=\"#example-a-daily-exchange-rate-in-a-trading-channel\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Example: a daily exchange rate in a trading channel\u003C\u002Fh2>\n\u003Cdiv class=\"code-block site-code\">\u003Cspan class=\"code-lang\">json\u003C\u002Fspan>\u003Cpre>\u003Ccode>\u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">name\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">EUR\u002FUSD to #markets\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">cron\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">expression\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">15 16 * * 1-5\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">time_zone\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">Europe\u002FBerlin\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n  \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7AA2F7\">nodes\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">[\u003C\u002Fspan>\n    \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">id\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">rate\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">frankfurter_latest\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">from\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">EUR\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">to\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">USD\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n    \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">id\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">post\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#0DB9D7\">discord_send_message\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">{\u003C\u002Fspan>\n        \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">webhook_url\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">https:\u002F\u002Fdiscord.com\u002Fapi\u002Fwebhooks\u002F123456789012345678\u002FabcDEF_ghi-JKL\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">,\u003C\u002Fspan>\n        \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#7DCFFF\">content\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">:\u003C\u002Fspan> \u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan>\u003Cspan style=\"color:#9ECE6A\">**EUR\u002FUSD** ECB reference rate for {{ $.date }}: **{{ $.rates.USD }}**\u003C\u002Fspan>\u003Cspan style=\"color:#89DDFF\">&quot;\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan> \u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\n  \u003Cspan style=\"color:#9ABDF5\">]\u003C\u002Fspan>\n\u003Cspan style=\"color:#9ABDF5\">}\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cbutton type=\"button\" class=\"icon-btn code-copy\" data-copy aria-label=\"Copy code\">\u003Csvg class=\"icon\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\u003Crect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\"\u002F>\u003Cpath d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"\u002F>\u003C\u002Fsvg>\u003C\u002Fbutton>\u003C\u002Fdiv>\u003Ch2 id=\"set-up\">\u003Ca class=\"anchor\" href=\"#set-up\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Set up\u003C\u002Fh2>\n\u003Cp>In Discord, open \u003Cstrong>Channel settings → Integrations → Webhooks → New Webhook\u003C\u002Fstrong>, pick the channel, and copy the URL into \u003Ccode>webhook_url\u003C\u002Fcode>. Anyone with the URL can post to the channel, so keep it private.\u003C\u002Fp>\n\u003Ch2 id=\"reference\">\u003Ca class=\"anchor\" href=\"#reference\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Reference\u003C\u002Fh2>\n\u003Ch3 id=\"send-a-discord-message-discord-send-message\">\u003Ca class=\"anchor\" href=\"#send-a-discord-message-discord-send-message\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>Send a Discord message: \u003Ccode>discord_send_message\u003C\u002Fcode>\u003C\u002Fh3>\n\u003Cp>\u003Cstrong>Sends\u003C\u002Fstrong> POST to the webhook URL with \u003Ccode>?wait=true\u003C\u002Fcode>. \u003Cstrong>Output\u003C\u002Fstrong> for the next step: The created message, with its \u003Ccode>id\u003C\u002Fcode> and \u003Ccode>channel_id\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cdiv class=\"table-wrap\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Type\u003C\u002Fth>\n\u003Cth>Notes\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>webhook_url\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>string, required\u003C\u002Ftd>\n\u003Ctd>A channel webhook, \u003Ccode>https:\u002F\u002Fdiscord.com\u002Fapi\u002Fwebhooks\u002F&lt;id&gt;\u002F&lt;token&gt;\u003C\u002Fcode>. Channel settings → Integrations → Webhooks.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>content\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>string, required\u003C\u002Ftd>\n\u003Ctd>Discord markdown, up to 2,000 characters. Placeholders allowed.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>username\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>string\u003C\u002Ftd>\n\u003Ctd>Overrides the webhook’s name. Placeholders allowed.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>avatar_url\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>string\u003C\u002Ftd>\n\u003Ctd>Overrides the webhook’s avatar. Placeholders allowed.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003C\u002Fdiv>\u003Ch2 id=\"more-ideas\">\u003Ca class=\"anchor\" href=\"#more-ideas\" aria-hidden=\"true\" tabindex=\"-1\">#\u003C\u002Fa>More ideas\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Post a daily server rules reminder at noon: \u003Ccode>0 12 * * *\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Count down to a launch with a message every day at 09:00 until a one-time \u003Ccode>run_at\u003C\u002Fcode> job announces it.\u003C\u002Fli>\n\u003Cli>Post open GitHub issues for contributors every Monday: \u003Ccode>0 10 * * MON\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Announce a stream 15 minutes before it starts with a one-time job.\u003C\u002Fli>\n\u003C\u002Ful>\n",[6,9,12,15,18],{"id":7,"html":8},"example-a-weekly-announcement","Example: a weekly announcement",{"id":10,"html":11},"example-a-daily-exchange-rate-in-a-trading-channel","Example: a daily exchange rate in a trading channel",{"id":13,"html":14},"set-up","Set up",{"id":16,"html":17},"reference","Reference",{"id":19,"html":20},"more-ideas","More ideas",1793404038803]