@actionsflow/trigger-reddit
This is a reddit trigger of Actionsflow. reddit trigger is triggered when new posts or comments of reddit are detected.
This is an official trigger, you don't need to install it manually.
Usage
We use Reddit RSS to implement this trigger, so you need to provide a reddit posts or comment URL to watch the reddit updates.
All hot feed:
on:reddit:url: https://www.reddit.com/hot/
New Hot Post in Subreddit:
on:reddit:url: https://www.reddit.com/r/news/
new Post in Subreddit:
on:reddit:url: https://www.reddit.com/r/news/new/
new Post by User:
on:reddit:url: https://www.reddit.com/user/alienth/
The comments on a specific reddit post:
on:reddit:url: https://www.reddit.com/r/technology/comments/1uc9ro/wearing_a_mind_controlled_exoskeleton_a_paralyzed/
A multireddit:
on:reddit:url: https://www.reddit.com/r/WTF+news
Multiple reddit:
on:reddit:url:- https://www.reddit.com/user/alienth/- https://www.reddit.com/r/news/config:limit: 15
Or, you can use the full RSS URL:
on:reddit:url: https://www.reddit.com/r/news/.rss
Options
url, required,stringorstring[], whenurlisstring[], then multiple Reddit feeds can trigger the action. All reddit URL supported.rsssuffix is valid value.source, optional,rssorjson, the default value isrss, ifsourceisrss, we'll use https://www.reddit.com/hot/.rss as the source, ifsourceisjson, we'll use https://www.reddit.com/hot/.json as the sourceclient, optional,axiosorpuppeteer-fetch, only works whensourceisjson, the default value isaxiossleep, optional, default sleep time ms, only works whensourceisjson, the default value is2000requestConfig, optional, ifsourceisjson, you can provide a request config for Axios or puppeteer-fetch config
You can use General Config for Actionsflow Trigger for more customization.
Note: if you use
puppeteer-fetchas the client, then you must useusing: localarguments to run workflows, because actionsflow/actionsflow-action can not load puppeteer in action. We must use normal local node_modules to run it.
jobs:run:runs-on: ubuntu-latestname: Runconcurrency: actionsflowsteps:- uses: actions/checkout@v2- name: Run Actionsflowuses: actionsflow/actionsflow-action@v1with:using: local
Outputs
RSS Source Outputs
By default, we use rss-parser for parse RSS file, the outputs are same as rss-parser
A default RSS outputs example:
{"title": "Kentucky lawmaker, sponsor of 'Breonna's Law,' back on protest line after arrest","link": "https://www.reddit.com/r/news/comments/j08qih/kentucky_lawmaker_sponsor_of_breonnas_law_back_on/","pubDate": "2020-09-26T16:09:25.000Z","author": "/u/PotaTribune","content": "  submitted by   <a href=\"https://www.reddit.com/user/PotaTribune\"> /u/PotaTribune </a> <br/> <span><a href=\"https://www.nbcnews.com/news/us-news/kentucky-lawmaker-sponsor-breonna-s-law-back-protest-line-after-n1241173\">[link]</a></span>   <span><a href=\"https://www.reddit.com/r/news/comments/j08qih/kentucky_lawmaker_sponsor_of_breonnas_law_back_on/\">[comments]</a></span>","contentSnippet": "submitted by /u/PotaTribune \n [link] [comments]","id": "t3_j08qih","isoDate": "2020-09-26T16:09:25.000Z"}
You can use the outputs like this:
on:reddit:url: https://www.reddit.com/r/news/jobs:print:name: Printruns-on: ubuntu-lateststeps:- name: Print Outputsenv:title: ${{on.reddit.outputs.title}}contentSnippet: ${{on.reddit.outputs.contentSnippet}}link: ${{on.reddit.outputs.link}}run: |echo title: $titleecho contentSnippet: $contentSnippetecho link: $link
JSON Source Outputs
{"approved_at_utc": null,"subreddit": "todayilearned","selftext": "","author_fullname": "t2_h1eln","saved": false,"mod_reason_title": null,"gilded": 0,"clicked": false,"title": "TIL that elephants are tremendous distance swimmers. They can swim for up to six hours and 25 miles (48km). They are so buoyant that if they tire in the water, they can just rest by floating and will not sink. They can also use their trunk as a snorkel and dive.","link_flair_richtext": [],"subreddit_name_prefixed": "r/todayilearned","hidden": false,"pwls": 6,"link_flair_css_class": null,"downs": 0,"thumbnail_height": 140,"top_awarded_type": null,"hide_score": false,"name": "t3_jowv2r","quarantine": false,"link_flair_text_color": "dark","upvote_ratio": 0.98,"author_flair_background_color": null,"subreddit_type": "public","ups": 26221,"total_awards_received": 19,"media_embed": {},"thumbnail_width": 140,"author_flair_template_id": null,"is_original_content": false,"user_reports": [],"secure_media": null,"is_reddit_media_domain": false,"is_meta": false,"category": null,"secure_media_embed": {},"link_flair_text": null,"can_mod_post": false,"score": 26221,"approved_by": null,"author_premium": false,"thumbnail": "https://a.thumbs.redditmedia.com/RU60Z6_dLKVp5tO10NIk30hr6ScY0Lb8sqZJg_HF198.jpg","edited": false,"author_flair_css_class": null,"author_flair_richtext": [],"gildings": {"gid_1": 1},"post_hint": "link","content_categories": null,"is_self": false,"mod_note": null,"created": 1604659565,"link_flair_type": "text","wls": 6,"removed_by_category": null,"banned_by": null,"author_flair_type": "text","domain": "wildanimalpark.org","allow_live_comments": true,"selftext_html": null,"likes": null,"suggested_sort": null,"banned_at_utc": null,"url_overridden_by_dest": "https://www.wildanimalpark.org/can-elephants-swim/","view_count": null,"archived": false,"no_follow": false,"is_crosspostable": true,"pinned": false,"over_18": false,"preview": {"images": [{"source": {"url": "https://external-preview.redd.it/8MOy01Lv_qLDv0lt4pdcP8FLxX9-J_SrpA-Y4J7n_GM.jpg?auto=webp&s=ed716ceb9f991838d30e2c9f707d028b8648753a","width": 1628,"height": 1628},"resolutions": [{"url": "https://external-preview.redd.it/8MOy01Lv_qLDv0lt4pdcP8FLxX9-J_SrpA-Y4J7n_GM.jpg?width=108&crop=smart&auto=webp&s=560432cbbbb38b11be5430e2d6c9a7a00a9e44f3","width": 108,"height": 108},{"url": "https://external-preview.redd.it/8MOy01Lv_qLDv0lt4pdcP8FLxX9-J_SrpA-Y4J7n_GM.jpg?width=216&crop=smart&auto=webp&s=c1848e78179a12b7de621f8b770a0ecab59039e6","width": 216,"height": 216},{"url": "https://external-preview.redd.it/8MOy01Lv_qLDv0lt4pdcP8FLxX9-J_SrpA-Y4J7n_GM.jpg?width=320&crop=smart&auto=webp&s=dee1c0b8dfe64862381034aef79a528c6c87324f","width": 320,"height": 320},{"url": "https://external-preview.redd.it/8MOy01Lv_qLDv0lt4pdcP8FLxX9-J_SrpA-Y4J7n_GM.jpg?width=640&crop=smart&auto=webp&s=bef12ba6f9525fb95dfad51064d6dab6d7d31730","width": 640,"height": 640},{"url": "https://external-preview.redd.it/8MOy01Lv_qLDv0lt4pdcP8FLxX9-J_SrpA-Y4J7n_GM.jpg?width=960&crop=smart&auto=webp&s=34a82510942e8c947ccdce4a88071a3fd5ca444a","width": 960,"height": 960},{"url": "https://external-preview.redd.it/8MOy01Lv_qLDv0lt4pdcP8FLxX9-J_SrpA-Y4J7n_GM.jpg?width=1080&crop=smart&auto=webp&s=2564140094e81d200fc3b5494efd9072fa3866c6","width": 1080,"height": 1080}],"variants": {},"id": "UNJeyllQTIO9CfmcI9gDngsW3pKuJC_lOe1f83HzZAU"}],"enabled": false},"all_awardings": [{"giver_coin_reward": 0,"subreddit_id": null,"is_new": false,"days_of_drip_extension": 0,"coin_price": 70,"id": "award_b92370bb-b7de-4fb3-9608-c5b4a22f714a","penny_donate": 0,"award_sub_type": "GLOBAL","coin_reward": 0,"icon_url": "https://i.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png","days_of_premium": 0,"tiers_by_required_awardings": null,"resized_icons": [{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=16&height=16&auto=webp&s=bbe4efb7b7ea2ecacd9609c937941282019a511f","width": 16,"height": 16},{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=32&height=32&auto=webp&s=7aa65fa1bbd9dd3482e18cae220a6acbbabd6452","width": 32,"height": 32},{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=48&height=48&auto=webp&s=a7b1d9f0629a00bc081d6db45a01c14720841969","width": 48,"height": 48},{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=64&height=64&auto=webp&s=ee0ceaa18ec2902fcb59a89bb93dfb440ce7bcf5","width": 64,"height": 64},{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=128&height=128&auto=webp&s=f3c3ed580426898ffd2df864e1111c957f71adf3","width": 128,"height": 128}],"icon_width": 2048,"static_icon_width": 2048,"start_date": null,"is_enabled": true,"awardings_required_to_grant_benefits": null,"description": "Show nature some love.","end_date": null,"subreddit_coin_reward": 0,"count": 1,"static_icon_height": 2048,"name": "Tree Hug","resized_static_icons": [{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=16&height=16&auto=webp&s=bbe4efb7b7ea2ecacd9609c937941282019a511f","width": 16,"height": 16},{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=32&height=32&auto=webp&s=7aa65fa1bbd9dd3482e18cae220a6acbbabd6452","width": 32,"height": 32},{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=48&height=48&auto=webp&s=a7b1d9f0629a00bc081d6db45a01c14720841969","width": 48,"height": 48},{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=64&height=64&auto=webp&s=ee0ceaa18ec2902fcb59a89bb93dfb440ce7bcf5","width": 64,"height": 64},{"url": "https://preview.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png?width=128&height=128&auto=webp&s=f3c3ed580426898ffd2df864e1111c957f71adf3","width": 128,"height": 128}],"icon_format": "PNG","icon_height": 2048,"penny_price": 0,"award_type": "global","static_icon_url": "https://i.redd.it/award_images/t5_22cerq/fukjtec638u41_TreeHug.png"}],"awarders": [],"media_only": false,"can_gild": true,"spoiler": false,"locked": false,"author_flair_text": null,"treatment_tags": [],"visited": false,"removed_by": null,"num_reports": null,"distinguished": null,"subreddit_id": "t5_2qqjc","mod_reason_by": null,"removal_reason": null,"link_flair_background_color": "","id": "jowv2r","is_robot_indexable": true,"report_reasons": null,"author": "itsmelen","discussion_type": null,"num_comments": 415,"send_replies": true,"whitelist_status": "all_ads","contest_mode": false,"mod_reports": [],"author_patreon_flair": false,"author_flair_text_color": null,"permalink": "/r/todayilearned/comments/jowv2r/til_that_elephants_are_tremendous_distance/","parent_whitelist_status": "all_ads","stickied": false,"url": "https://www.wildanimalpark.org/can-elephants-swim/","subreddit_subscribers": 24127304,"created_utc": 1604630765,"num_crossposts": 3,"media": null,"is_video": false}
You can use the outputs like this:
on:reddit:url: https://www.reddit.com/r/news/jobs:print:name: Printruns-on: ubuntu-lateststeps:- name: Print Outputsenv:title: ${{on.reddit.outputs.title}}link: ${{on.reddit.outputs.permalink}}run: |echo title: $titleecho link: $link