Forked from SnugglePilot/gist:ce094bc54ee15c3801e704d4edf22a3e
Last active
January 26, 2021 07:43
-
-
Save JashanChittesh/fa1b738b30faa5ec3de4f37bf47b9710 to your computer and use it in GitHub Desktop.
This is an updated version of CapnAndy's instructions to get Steam reviews into a Slack channel by creating a review RSS feed on feed43.com.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This is based on instructions by @Capn_Andy (apparently now @SnugglePilot), who was | |
pointed there by @Chaklapak. I implemented this the first time April 17, 2016, with | |
some updates to make it work for Early Access (the original version gave me just the | |
"Early Access Review" as review text). This version here is an update from April 30, 2017 | |
which was long overdue because my previous RegEx-statement mixed things up quite a bit, | |
probably due to Steam changing the format a while back, resulting in the same reviews | |
popping up in the Slack channel over and over, with authors, recommended / not recommended | |
and the actual reviews all mixed up. | |
Original instructions: | |
https://gist.github.com/CapnAndy/ce094bc54ee15c3801e704d4edf22a3e | |
(this is a fork, so I guess GitHubGist lets you easily browser there via its interface). | |
Also, while I was at it, I have added how to get those feeds into Discord, and also, | |
how to set up the same for release notes and videos (all from the Steam community page). | |
A few examples of the resulting RSS feeds: | |
http://feed43.com/holodance-steam-reviews.xml | |
http://feed43.com/holodance-steam-releases.xml (NOTE: Could simply use Steam RSS feed instead) | |
http://feed43.com/holodance-steam-releases-full.xml (NOTE: Could simply use Steam RSS feed instead) | |
http://feed43.com/holodance-steam-videos.xml | |
You can see those in action on our Holodance Discord Server: | |
https://discord.gg/mUBufqw | |
Step One: Get Link to Your Review Page | |
I'm using Most Recent, and All Languages; adapt to your needs: | |
http://steamcommunity.com/app/422860/reviews/?p=1&browsefilter=mostrecent&filterLanguage=all | |
Step Two: Setup Review Feed on Feed43.com | |
You may want to create an account on feed43.com, even though | |
you don't have to. Either way, you "Create Your Own Feed". | |
These instructions have the full details for Steam Reviews - but | |
you can also grab your Release Notes or Videos to stream them into | |
a Discord Server, for example. See end of this guide for those. | |
Step 1, URL: URL from above | |
http://steamcommunity.com/app/422860/reviews/?p=1&browsefilter=mostrecent&filterLanguage=all in my case | |
Step 2, Extraction Rules, this one works for Early Access: | |
Item (repeatable) Search Pattern: | |
{*}<div class="apphub_Card{*}data-modal-content-url="{%}"{*}<div class="apphub_CardContentMain"{*}<div class="title">{%}</div>{*}<div class="hours">{%}</div>{*}<div class="date_posted">Posted: {%}</div>{_}{*}</div><br>{%}</div>{*}<div class="apphub_CardContentAuthorName{*}/">{%}</a> | |
Leave "Global Search Pattern" empty (I tried, didn't work, works very well without global search pattern) | |
Step 3, Define Output Format. | |
What you should see in Clipped data is something like: | |
{%1} = http://steamcommunity.com/id/masterbard/recommended/422860/ | |
{%2} = Recommended | |
{%3} = 1.0 hrs on record | |
{%4} = April 20 | |
{%5} = A sorely underappreciated game. I've had more fun with just the OSU support than I've had with "the other dance game" since last spring. Well worth the money! | |
{%6} = masterbard | |
Double check if this matches the actual reviews. The issue | |
I've had was that with the old extraction rule, the name | |
and review didn't match (I got the name of the first review, | |
but the second review in the first item). | |
Also, in the old version the link went to the wrong review. | |
So, basically, whenever Steam changes how that site looks, | |
you may have to adapt the extraction rules accordingly, | |
and sometimes, simply changing the order is all you need to | |
do. | |
Don't be like me and wait a year until the feed has spammed | |
your channel to oblivion until fixing any issues you may | |
encounter. | |
The order of the items does not match the order in the | |
HTML-code because Steam, for some weird reason messes up | |
the sorting (it's not chronological), and Feed43.com fixes | |
that. Nice, isn't it? | |
Feed Title and description is up to you, I used | |
Steam Community :: Holodance :: Reviews | |
Most recent Holodance reviews on Steam, all languages. | |
Feed link has to be the one from above. | |
Item Title Template | |
{%6} {%2} ({%4}) | |
=> 6: name of player | |
=> 2: Recommended or Not Recommended | |
=> 4: Date | |
Item Link Template | |
{%1} | |
Item Content Template | |
<em>{%5}</em><br><br> | |
- {%6} [{%4}, {%2} after {%3}] | |
That's the actual review, and then again the name, date | |
recommended or not recommended and how long the player had | |
played the game at that time. | |
Check if all is good using "Preview", verify all links | |
and names and recommended / not recommended are correct. | |
Step 4, Get Your RSS Feed | |
MAKE ABSOLUTELY SURE TO KEEP THE EDIT URL! | |
If you have an account with Feed43.com, that is obviously | |
not that important. | |
Change file name, if you wish, or make a note of the | |
Feed URL. | |
So I have: http://feed43.com/holodance-steam-reviews.xml | |
Step Three, Finally: Grab the Feed in Slack | |
You'll usually want your own channel, call it "reviews", maybe. | |
Also, you may want to post a link to these instructions in the | |
"Purpose" or a pinned item because when Steam messes things up, | |
it will be quite useful to be able to get back and fix things | |
using these instructions. | |
Then, simply type as chat message: | |
/feed subscribe [your feed URL] | |
If you ever need to unsubscribe, simply use /feed help to get instructions. | |
And/or, Step Four, if you want to have the Feed in Discord, you can use the Discord.RSS bot: | |
https://www.reddit.com/r/discordapp/comments/5n9l6w/discordrss_an_rss_bot/ | |
~rssadd <yourFeedURL> | |
~rsstest, then type 1 to see what the bot gets | |
~rssmessage, then type 1 to enter a custom message, usually something like | |
**{title}** | |
{description} | |
{link} | |
and again ~rsstest to see if it works correctly | |
Finally, Step 5, when you want Release Notes (all News) and/or Videos: | |
Release Notes: | |
NOTE: It's more reliable to simply use Steam's RSS feed for this purpose: | |
http://steamcommunity.com/games/holodance/rss/ | |
http://steamcommunity.com/app/422860/announcements/ | |
{*}<div class="apphub_Card{*}data-modal-content-url="{%}"{*}<div class="apphub_CardContentNewsTitle">{%}</div>{*}<div class="apphub_CardContentNewsDate">{%}</div>{*}<div class="apphub_CardTextContent">{%}</div> | |
Result Example: | |
{%1} = http://steamcommunity.com/gid/103582791441659478/announcements/detail/507060676897010929 | |
{%2} = Holodance 0.8.0b8: Bugfixes and further performance optimization, UI polishing | |
{%3} = Apr 11 | |
{%4} = We're almost done with the [...] <--- this is very long, you may not want to use it! | |
Title: {%2} ({%3}) | |
Link: {%1} | |
Content (if you always want the full release notes): | |
{%4} | |
<br> | |
Alternative Content: {%3}: <a href="{%1}">{%2}</a> | |
Videos: | |
http://steamcommunity.com/app/422860/videos/?p=1&browsefilter=mostrecent | |
{*}<div class="apphub_Card{*}data-modal-content-url="{%}"{*}<div class="apphub_CardContentTitle ellipsis">{%} </div>{*}<div class="apphub_CardContentAuthorName{*}"><a href="{%}">{%}</a> | |
Result Example: | |
{%1} = http://steamcommunity.com/sharedfiles/filedetails/?id=883935574 | |
{%2} = Holodance (VR Gameplay) | |
{%3} = http://steamcommunity.com/id/geradraz/ | |
{%4} = G-Dub | |
Title: {%4} posted: {%2} | |
Link: {%1} | |
Content: <a href="{%1}">{%2}</a> posted by: <a href="{%3}">{%4}</a><br> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment