How to Automate Discord Message Posting With Webhooks and Cron
Published on , 249 words, 1 minutes to read
Most Linux systems have cron
installed to run programs at given intervals. An example usecase would be to install package updates every Monday at 9 am (keep the sysadmins awake!).
Discord lets us post things using webhooks. Combining this with cron lets us create automated message posting bots at arbitrary intervals.
The message posting script
Somewhere on disk, copy down the following script:
#!/bin/sh
# msgpost.sh
# change MESSAGE, WEBHOOK and USERNAME as makes sense
# This code is trivial, and not covered by any license or warranty.
# explode on errors
set -e
MESSAGE='haha memes are funny xD'
WEBHOOK=https://discordapp.com/api/webhooks/0892379892092/AFkljAoiuj098oKA_98kjlA85jds
USERNAME=KRONK
curl -X POST \
-F "content=${MESSAGE}" \
-F "username=${USERNAME}" \
"${WEBHOOK}"
Test run it and get a message like this:
How to automate it
To automate it, first open your crontab(5)
file:
$ crontab -e
Then add a crontab entry as such:
# Post this funny message every hour, on the hour
0 * * * * sh /path/to/msgpost.sh
# Also valid with some implementations of cron (non-standard)
@hourly sh /path/to/msgpost.sh
Then save this with your editor and it will be loaded into the cron daemon. For more information on crontab formats, see here.
To run multiple copies of this, create multiple copies of msgpost.sh
on your drive with multiple crontab entries.
Have fun :)
Facts and circumstances may have changed since publication. Please contact me before jumping to conclusions if something seems wrong or unclear.
Tags: