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
{{ }} must be used. it works for me using the standard discord webhooks. copy the body as seen exactly in the example.
if it still doesn't work, you may need to delete and re-create the connection on ifttt, and then disconnect the twitch account on twitch.tv and reconnect it from ifttt; should work then after a refresh. i had to to this once.
I also noticed that only if i stream for about 5-10 minutes or more does the "Game" tag get populated. so if you are testing, try to leave the test stream on for about 10 minutes and await the discord notify before you chalk it up as a false positive. just some info there.