In this post I will show how to use SteemRSS with IFTTT to send posts automatically from Steem to Discord.
This is a follow up to previous post Re-re-introducing SteemRSS … The Unofficial RSS Feed tool for STEEM — Steemit. Read that post first to learn more about SteemRSS. Special thanks to @emrebeyler for reviewing the previous submission.
Before we get to the meat of this how-to guide, I’d like to give a quick update on SteemRSS development. Along with minor bug fixes and stability improvements, SteemRSS now supports user comment feeds. For example, request a list of recent comments posted by user @ned. www.steemrss.com/@ned/comments Now on to the meat..
Our goal is to auto-inject Steemit posts into a Discord channel. This will be achieved through a combination of tools: SteemRSS, IFTTT, and Discord Webhooks. I’ll first give a high level description of each of these.
What is IFTTT? (If this, then that)
According to its website, “IFTTT is a free platform that helps you do more with all your apps and devices”. And now, with the help of SteemRSS and IFTTT, you can do more with Steem. 💪
IFTTT is a web automation tool and supports a long list of triggers and actions. Hence the name if (trigger) then (action). Triggers are things like user @xyz posts a new tweet, a new photo is taken, a new blog post is published. Actions are things like send an email, tweet, post to Facebook/Instagram. To send posts from Steem to Discord we will use an RSS feed trigger and a Webhooks action.
What is an RSS feed?
An RSS feed is essentially an XML formatted document representing a list of content items. IFTTT will periodically check the feed for new items. Upon discovering a new item, specified action is triggered.
SteemRSS serves an adapter for Steem, generating RSS feeds for Steem accounts, topics on the fly.
What is a Webhook?
Webhook is a fancy name for HTTP requests to a pre-configured URL. Discord generates a unique URL for each new Webhook a server admin configures. By sending a request to that URL, a script can send a message to a configured Discord channel.
I’ll walk through the process for creating a new Webhook and plugging it into IFTTT. First we need to create a web hook URL in Discord. Next we need to create a New RSS->Webhook Applet in IFTTT. Finally, we need to configure the Applet’s action to use the Discord Webhook we configured.
First we need to create a web hook URL in Discord
Here are the steps (there are many)
- On laptop or desktop Go to Server Settings (must be Discord server admin). 1. It might be possible to do this from mobile but I couldn’t find it in the app.
- Click to Webhooks tab
- Click ‘Create Webhook’
- Enter name and select channel for your bot user
- Upload avatar image (optional)
- Copy Webhook URL to your clipboard (Click copy)
- Click Save
- Keep the Webhook URL you copied handy, it will be needed soon.
Next we need to create a New RSS->Webhook Applet in IFTTT
- Sign up or log in to IFTTT
- Add a New Applet
- Click ‘This+’ and Select service named “RSS Feed”.
- Click ‘New Feed Item’
- Enter feed URL from SteemRSS like ‘www.steemrss.com/@ned/comments'
- Click ‘Create trigger’
- Click ‘+that’ and search for ‘Webhooks’ and select it
- Click ‘make a web request’
Finally, we need to configure the Applet’s action to use the Discord Webhook we configured
- Paste your Webhook URL into the URL box
- Set Method to ‘POST’
- Set Content Type to ‘application/json’
- Paste this into body {“content":"<<<{{EntryTitle}}>>>: <<<{{EntryContent}}>>> {{EntryUrl}}"} This part is the hardest to get right. And it is highly customizable.
- Click ‘Create action’
- Click ‘Finish’
EntryTitle, EntryContent, EntryUrl are placeholders called ‘Ingredients’. These placeholder tokens will be replaced with values from the RSS feed item. There are more ingredients available:
- Tada! When @ned posts a comment it automatically shows up in the #neds-comments channel. The bot name is as configured in the Webhook settings. An avatar image could also be configured, but default avatar is shown here.
Tip: EntryContent contains full Steem post body including HTML code. If message contains the post’s URL, Discord is smart enough to show a preview, so EntryContent is unnecessary and creates clutter in the channel.
Note: if the feed you used is super noisy, IFTTT will automatically rate limit your Applet. Fun story, I learned this the hard way while testing with a feed of all @actifit posts. IFTTT threw up a warning ⚠️ because the feed was auto-throttled. It’s pretty awesome to see the firehose of dozens of new @actifit Activity Reports coming in.
That’s a Wrap
We discussed at a high level what is IFTTT, what are RSS feeds, and what are Webhooks. Then we went into detail showing exactly how to set up an IFTTT Applet to flow posts from Steem through SteemRSS through IFTTT to Discord.
But wait there’s more … Some other examples of IFTTT Applets you could similarly configure are:
- Send all @fulltimegeek blog posts as Tweets
- Send a weekly summary of @utopian-io blog posts to email subscribers
See you next time,
Tor
—
p.s. images in the post are screenshots taken from IFTTT and Discord.
—
P.p.s. Please consider a ‘follow’ or a ‘resteem’ if you found this post useful or interesting. I rely on word of mouth. I do not use paid promotion services or bid bots.