{"id":18783946,"url":"https://github.com/sparkpost/pizza-bot","last_synced_at":"2025-04-13T12:27:01.594Z","repository":{"id":138516409,"uuid":"84451467","full_name":"SparkPost/pizza-bot","owner":"SparkPost","description":"Learn how to order 🍕 from Slack","archived":false,"fork":false,"pushed_at":"2017-10-16T14:43:23.000Z","size":766,"stargazers_count":20,"open_issues_count":2,"forks_count":43,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-04-13T12:26:48.751Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SparkPost.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-09T14:31:35.000Z","updated_at":"2022-10-04T12:32:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"ac442637-c477-4e91-bd8d-d4f963069dd7","html_url":"https://github.com/SparkPost/pizza-bot","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/SparkPost%2Fpizza-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Fpizza-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Fpizza-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SparkPost%2Fpizza-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SparkPost","download_url":"https://codeload.github.com/SparkPost/pizza-bot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248713363,"owners_count":21149675,"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-11-07T20:41:15.164Z","updated_at":"2025-04-13T12:27:01.588Z","avatar_url":"https://github.com/SparkPost.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pizza-bot\nLearn how to order :pizza: from Slack\n\n## Welcome Pizza Botter\n\nHowdy :wave: We're going to build a bot today. An awesome bot that will order you hot, delicious pizza.\nFrom Domino's. So, hot pizza. Well, maybe not hot, but definitely at least warm pizza. From Domino's.\nOK, let's not get hung up on the definitions of \"pizza\" or \"food\". The bot will be awesome, I promise.\n\nWhether or not you actually want to _eat_ Domino's \"pizza\", this project will show us how to take a fun idea (a Slack bot that delivers pizza), break it down into small and manageable steps, and work with real-life (sometimes messy) external libraries to make your idea become a real thing.\n\nBefore we begin, let's do a little set up.\n\n## Things You Need Before We Start\n\n### Node\n\nYou will need to have Node installed on your machine. The libraries we use require Node 4+ (the examples in this repo use the current release, Node 6).\nIf you have an older version, check out [nvm](https://github.com/creationix/nvm) to upgrade.\n\nCheck if you have Node installed by typing `node --version` in your terminal. If you get an error, download it here: https://nodejs.org/en/download/\n\n### Git\n\nYou will need to have Git installed as well. One quick way to do this is to install GitHub Desktop.\n\nCheck if you have Git installed by typing `git --version` in your terminal. If you get an error, download it here: https://desktop.github.com/\n\n### GitHub Account\n\nhttps://github.com/join\n\nSign up for a GitHub account. If you want to clone the code locally and push changes, you'll\nneed to [generate](https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/) an SSH key\nand [upload](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/) it to GitHub.\n\n\n## Break Into Teams\n\nGet into teams of 2-3.\n\nOnce you are in teams, pick your team name and create a public Slack channel. Invite the workshop instructor, assistants and everyone on your team using the `/invite` command.\n\nOnce you have your team channel set up, DM your team name to the instructor, and they will give you a Slack API token.\n\n## Set Up The Project\n\nWe will be pair programming during this workshop. One person on the team should fork the repo (see below). Everyone else on the team can clone that copy to their machines and follow the setup steps below.\n\n### Fork this repo\n\nYou won't be able to make changes to this example repo, so you will need to fork it (make a copy of it). Have one person click the \"Fork\" button in the upper right hand corner of this repo. This will give you your own copy of this example repo to work with in your Github account.\n\nYou will be using one repo for your team so add everyone on your team as a \"collaborator\". You can do that at `https://github.com/\u003cGHUsername\u003e/pizza-bot/settings/collaboration`.\n\n### Clone Your Forked Version\n\nMake a local copy of your version using the `git clone` command. Use the \"Clone or Download\" button to get the URL to your copy of the project.\n\nType `cd pizza-bot` to change your working directory into your copy of the repo.\n\n### Create a .env File\n\nCreate a file named `.env` in the root of your project. Add this line to the file:\n\n```bash\nexport SLACK_TOKEN=replace_me\n```\n\nIf you are comfortable creating your own Slack API token, you can follow [these instructions](./docs/CREATE_BOT.md). Otherwise, ask a mentor to create one for you. Once you have a Slack API token, replace `replace_me` with the token.\n\nOnce you have your token, open a terminal and type:\n\n```bash\nsource .env\n```\n\nThis will expose the variables in your `.env` file to the current terminal session. **You will need to\ntype `source .env` for each new terminal window you open.** If you see this error `Missing configuration. Config must\ninclude either slackToken AND/OR clientId, clientSecret, and port` you forgot to type `source .env` :smile:\n\n### Install Depedencies\n\nUse `npm install` in the root of your project to install all the project dependencies.\n\n## Start Your Bot\n\nThis project uses `npm` scripts to perform tasks. You can find them in the `package.json` file.\n\nType `npm start` in a terminal window to start your bot. Find your bot in Slack and it should have a green active icon next to it. If you don't see that, check your terminal for logs (did you remember to `source .env`?).\n\nIn Slack type `hello bot` and see if it responds. You can also type `@\u003cbotname\u003e help` to see what help commands it has.\n\nHeads up: your bot will restart on every code change. This is a great feature for development, not so useful in production :smile:\n\n## First Exercise\n\nOnce you have your bot running, it's time to dig in! Take a look at the README in this branch for the first exercise:\nhttps://github.com/SparkPost/pizza-bot/tree/01-plugin\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkpost%2Fpizza-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparkpost%2Fpizza-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkpost%2Fpizza-bot/lists"}