So you went live and you want everyone to know. Here's how you do it:
Go to https://ifttt.com/ and create an account (if you don't already have one)
- Find the Discord channel in which you would like to send Tweets.
- In the settings for that channel, find the Webhooks option and create a new webhook. Note: This URL should be kept private. It allows anyone to write messages to that specific channel using that specific URL. Keep it safe!
- Name the webhook however you like and feel free to change the generic profile picture. I chose this icon as it fits the circle nicely.
- Copy the URL somewhere and keep it handy for the next step.
- Go here to create a new "Applet"
- Click the big blue "[+] This" and choose "Twitch" (use the search bar to find it quickly)
- Connect your account if necessary.
- Choose "New stream started by you" (it should be the 2nd option from the left)
- Click the big blue "[+] That" and choose "Webhooks"
- Choose "Make a web request" (it should be the only option)
- Fill in the following details:
URL: [your URL from "part 2" above] Method: POST Content type:
application/json
Body: [see the snippet below] - Click "Create Action"
- Done!
Webhooks are super-customizable and allow you to make pretty well-detailed visuals. However, their format is also somewhat complex to get right without extensive testing, so here's a template which would be useful to most people:
{
"content": "{{ChannelName}} went live on Twitch",
"embeds": [{
"title": "{{ChannelUrl}}",
"url": "{{ChannelUrl}}",
"color": 6570404,
"footer": {
"text": "{{CreatedAt}}"
},
"image": {
"url": "{{StreamPreview}}"
},
"author": {
"name": "{{ChannelName}} is now streaming"
},
"fields": [
{
"name": "Playing",
"value": "{{Game}}",
"inline": true
},
{
"name": "Started at (streamer timezone)",
"value": "{{CreatedAt}}",
"inline": true
}
]
}]
}
This snippet produces this snippet: (for the channel "xQcow"):
If you'd like to customize the message text -- "xqcow has gone live on Twitch!" -- change the content attribute:
{
"content": "{{ChannelName}} has gone live on Twitch!",
"embeds": [{
If you'd like to show your Twitch profile picture in the box:
- Go to Twitch
- Right-click your profile picture in the top-right:
- Click "Copy image address"
- Paste that address into this blob instead of
<IMAGE_URL>
:
"thumbnail": {
"url": "<IMAGE_URL>"
},
- Paste that blob below the
image
area in the main blob, so that part would change from this:
"footer": {
"text": "{{CreatedAt}}"
},
"image": {
"url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_{{ChannelName}}-1280x720.jpg"
},
"author": {
"name": "{{ChannelName}} is now streaming!"
},
To this:
"footer": {
"text": "{{CreatedAt}}"
},
"image": {
"url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_{{ChannelName}}-1280x720.jpg"
},
"thumbnail": {
"url": "<IMAGE_URL>"
},
"author": {
"name": "{{ChannelName}} is now streaming!"
},
Note: The image address you just used for your Twitch profile picture may stop working if you change your picture. I'm not sure how Twitch manages those.
- This guide was adapted from this YouTube to Discord via IFTTT guide.
- The Twitch webhook icon is courtesy of FIVEicons LLC and available under a CC-BY 2.5 license here: https://www.iconfinder.com/icons/318551/twitch_twitch.tv_icon
Hello, thank you very much for this great tutorial;). But I have one more question. Is there a possibility to include a query? The following procedure. On our Discord server there is the role @streamer, everyone who has this role is linked to his or her Twitch channel in our bot. Now the bot should only write in the channel (live status) if this streamer only plays a certain game (from our GTA RP server). If he plays other games, no live notification should be posted. Warm greetings