{"id":13722484,"url":"https://github.com/nicksergeant/slacktapped","last_synced_at":"2026-01-31T08:30:54.852Z","repository":{"id":142338197,"uuid":"66716669","full_name":"nicksergeant/slacktapped","owner":"nicksergeant","description":"🍺 An Elixir app to post Untappd checkins to Slack.","archived":false,"fork":false,"pushed_at":"2021-04-02T02:12:05.000Z","size":115,"stargazers_count":14,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-14T11:40:06.393Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://slacktapped.com","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nicksergeant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-08-27T13:49:17.000Z","updated_at":"2024-04-24T23:22:04.000Z","dependencies_parsed_at":"2024-01-06T01:15:38.334Z","dependency_job_id":"9c7026a9-9425-4da1-b1b4-4605a6e48945","html_url":"https://github.com/nicksergeant/slacktapped","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicksergeant%2Fslacktapped","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicksergeant%2Fslacktapped/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicksergeant%2Fslacktapped/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nicksergeant%2Fslacktapped/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nicksergeant","download_url":"https://codeload.github.com/nicksergeant/slacktapped/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252905552,"owners_count":21822823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T01:01:29.343Z","updated_at":"2026-01-31T08:30:54.841Z","avatar_url":"https://github.com/nicksergeant.png","language":"Elixir","funding_links":[],"categories":["Elixir"],"sub_categories":["Phoenix"],"readme":"# Slacktapped [![CircleCI](https://circleci.com/gh/nicksergeant/slacktapped.svg?style=svg)](https://circleci.com/gh/nicksergeant/slacktapped)\n\nSlacktapped is an \u003ca href=\"http://elixir-lang.org/\"\u003eElixir\u003c/a\u003e app to post \u003ca href=\"https://untappd.com/\"\u003eUntappd\u003c/a\u003e activity to \u003ca href=\"https://slack.com/\"\u003eSlack\u003c/a\u003e.\n\nOnce installed, this bot will post checkins, badges, and comments to a Slack\nchannel.\n\nIt can also (\u003ca href=\"#slash-commands\"\u003ewith additional configuration\u003c/a\u003e)\nrespond to Slack slash commands and allow users to search for beers on Untappd.\n\nThe source code is available on GitHub at [https://github.com/nicksergeant/slacktapped](https://github.com/nicksergeant/slacktapped).\n\nOnline documentation is available at [slacktapped.com](http://slacktapped.com).\n\n## Setup\n\n1. Apply for an \u003ca href=\"https://untappd.com/api/\"\u003eUntappd API application\u003c/a\u003e.\n   Make sure you set a Callback URL for the application (any valid URL).\n2. Create an \u003ca href=\"https://api.slack.com/incoming-webhooks\"\u003eincoming webhook\u003c/a\u003e\n   and point it to the channel of your choosing in your Slack team.\n3. Create a new Untappd user. This user will be a standalone user that the bot\n   will authenticate as.\n4. For any people whose Untappd activity you want this bot to post, have that\n   person \"friend\" the Untappd user created in step 3, and then accept the\n   friendship on Untappd.\n5. \u003ca href=\"https://redislabs.com/redis-cloud\"\u003eObtain\u003c/a\u003e or deploy a Redis\n   instance. Redis is used to keep track of activity that has been posted to\n   Slack.\n6. With your Untappd API credentials, authenticate as your user using the\n   \u003ca href=\"https://untappd.com/api/docs#authentication\"\u003e\"Client Side Authentication\" instructions here\u003c/a\u003e.\n   Use the provided Callback URL you specified in step 1. Make note of the\n   returned `access_token` in the URL. Currently Untappd does not expire access\n   tokens retrieved in this manner, but we may implement proper OAuth support\n   for Slacktapped in the future.\n7. Clone this repo and deploy to \u003ca href=\"https://www.heroku.com/\"\u003eHeroku\u003c/a\u003e\n   or \u003ca href=\"http://dokku.viewdocs.io/dokku/\"\u003eDokku\u003c/a\u003e, by following the\n   instructions below. You should also be able to deploy to any system that\n   supports building applications via \u003ca href=\"https://devcenter.heroku.com/articles/buildpacks\"\u003ebuildpacks\u003c/a\u003e.\n\n## Deployment\n\n1. Do a `git push` to Heroku or your Dokku server.\n2. `heroku buildpacks:set hashnuke/elixir`\n3. Set your environment variables:\n\n```\nINSTANCE_NAME=''         # Unique name for this Slacktapped instance.\nREDIS_URI=''             # URI for your Redis isntance.\nSLACK_WEBHOOK_URL=''     # Your Slack incoming webhook URL.\nUNTAPPD_ACCESS_TOKEN=''  # Token obtained via auth request above.\nUNTAPPD_CLIENT_ID=''     # Your Untappd client ID.\nUNTAPPD_CLIENT_SECRET='' # Your Untappd client secret.\n```\n\nOnce you've deployed with the proper credentials, you should start seeing logs\nfor your application indicating that the processor is running. It will poll\nUntappd every 60 seconds for new activity:\n\n```\n[Processor] Running...\n[Processor] Done.\n```\n\nWith any luck, you'll see Untappd activity in your Slack channel:\n\n![http://i.nick.sg/45afb435b99b478eb4dade42567072af.png](http://i.nick.sg/45afb435b99b478eb4dade42567072af.png)\n\n## Slash Commands\n\nIn addition to polling the Untappd API for activity, this bot also boots a web\nserver that can act as a \u003ca href=\"https://api.slack.com/slash-commands\"\u003eSlack Slash Command\u003c/a\u003e endpoint.\n\nOnce installed, users can use the slash command to search for beers on Untappd,\nlike this:\n\n```\n/untappd dogfish 90\n```\n\n![http://i.nick.sg/73b251f371db440fb9872f58f044964d.png](http://i.nick.sg/73b251f371db440fb9872f58f044964d.png)\n\nBy default, the slash command will respond privately to the user. It will\nrespond publicly to the channel by appending `-public` to the command, like so:\n\n```\n/untappd dogfish 90 -public\n```\n\n**Installation:**\n\n1. Create a \u003ca href=\"https://api.slack.com/slash-commands\"\u003eslash command\u003c/a\u003e for\n   your Slack team.\n2. Ensure that your bot is running under an HTTPS endpoint (Slack requires this).\n3. Set the URL for the slash command to `https://\u003chostname-to-bot\u003e/search`.\n4. Set the environment variable for the slash command token:\n\n```\nUNTAPPD_SLASH_CMD_TOKEN=''\n```\n\n## Options\n\nBadges can get a bit noisy when you're only interested in seeing checkins and\ncomments, so you can disable badge posts by setting the following environment\nvariable:\n\n```\nIGNORE_BADGES='true'\n```\n\nTo disable comments:\n\n```\nIGNORE_COMMENTS='true'\n```\n\n## Support\n\nIf you need help deploying or have an idea for a feature, \u003ca href=\"https://github.com/nicksergeant/slacktapped/issues/new\"\u003ecreate an issue\u003c/a\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicksergeant%2Fslacktapped","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicksergeant%2Fslacktapped","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicksergeant%2Fslacktapped/lists"}