{"id":21325873,"url":"https://github.com/thermondo/stanley","last_synced_at":"2025-06-21T15:06:48.794Z","repository":{"id":38360192,"uuid":"122606139","full_name":"thermondo/stanley","owner":"thermondo","description":"Secret Santa slack bot for positive feedback.","archived":false,"fork":false,"pushed_at":"2025-06-19T06:02:56.000Z","size":2033,"stargazers_count":8,"open_issues_count":4,"forks_count":3,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-06-21T15:06:41.801Z","etag":null,"topics":["feedback","people","python","slack"],"latest_commit_sha":null,"homepage":"","language":"Python","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/thermondo.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,"zenodo":null}},"created_at":"2018-02-23T10:19:27.000Z","updated_at":"2025-06-19T06:02:59.000Z","dependencies_parsed_at":"2024-02-13T10:24:07.920Z","dependency_job_id":"45867437-79a9-406d-877b-351f79fc67b9","html_url":"https://github.com/thermondo/stanley","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thermondo/stanley","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thermondo%2Fstanley","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thermondo%2Fstanley/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thermondo%2Fstanley/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thermondo%2Fstanley/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thermondo","download_url":"https://codeload.github.com/thermondo/stanley/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thermondo%2Fstanley/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261143149,"owners_count":23115674,"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":["feedback","people","python","slack"],"created_at":"2024-11-21T21:07:47.430Z","updated_at":"2025-06-21T15:06:43.782Z","avatar_url":"https://github.com/thermondo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stanley\n\n![Stanley](https://camo.githubusercontent.com/10a960a0a1f2b2373d970140ed26749330ab67d8/687474703a2f2f69312e7974696d672e636f6d2f76692f394548394b4f744e4c35452f6d617872657364656661756c742e6a7067)\n\nA secret Santa Slack bot for positive feedback.\n\n## Setting up the bot\n\nJust click the button, duh!\n\n[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/Thermondo/stanley)\n\nYou must configure on [Heroku Scheduler](https://devcenter.heroku.com/articles/scheduler)\nhow often Stanley will ask for feedback. Our team is asking feedback on Mondays,\nWednesdays, and Fridays. It doesn't mean that all team members will be asked three\ntimes a week. Instead, Stanley will choose a sender and a receiver each day randomly.\n\n## Setting up Slack\n\n```https://api.slack.com/```\n-\u003e 'Start Building'\n\n### 1. Add Bot\n\nIn the section 'Add features and functionality' select Bots and fill the form\n\n### 2. Permissions\n\nIn the section 'Add features and functionality' select Permissions\n\nIn the Scope add\n\n*   bot\n*   chat:write:bot\n*   team:read\n\n### 3. Event Subscriptions\n\nIn the section 'Add features and functionality' select Event Subscriptions\n\nyou have to set the deployed app url into 'Requests URL' and verify\n\nNext 'Subscribe to Bot Events' add 'message.im'\n\nNow go to your app and have fun!\n\n### 4. Install your app to your workspace\n\nUntil this moment you have a bot configure but not installed in your workspace yet.\nTo do it and have access to Slack API credentials, click on _Install your app to your workspace_.\n\n### 5. Set environment variables on Stanley\n\n* `SLACK_VERIFICATION_TOKEN`: Still on Slack, click on _Basic Information_ and\nin the section _App Credentials_ copy **Verification Token**.\n\n* `SLACK_API_TOKEN`: in the section _Install App_, copy it from _Bot User OAuth Access Token_.\n\nThe variables `SLACK_API_TOKEN` and `SLACK_VERIFICATION_TOKEN` are required.\nOther environment variables that are optional:\n\n* `FEEDBACK_MEMBERS`: Stanley will use all members if you don't fill it in.\nYou can get the users and their ids using [Request team members](#request-team-members) command\n\n* `REDIS_URL`: default is `redis://127.0.0.1:6379/0`\n\n* `SENTRY_DSN`: for Sentry integration purposes\n\n## Helpful management commands\n\n### Request team members\n\nTo be able to see team members internal usernames (used in `FEEDBACK_MEMBERS` variable), you can run\n\n```bash\nFLASK_APP=stanley/app.py flask team-command\n```\n\nIt will give you the list of Slack team members with their IDs.\n\n### Request a feedback\n\nTo ask for a feedback, just run\n\n```bash\nFLASK_APP=stanley/app.py flask request-feedback-command\n```\n\nThis will ask a random person to provide a feedback to another random person.\n\nExample of our command (that will run on Mondays, Wednesdays, and Fridays):\n\n```bash\nif [ \"$(date +%u)\" = 1 ] || [ \"$(date +%u)\" = 3 ] || [ \"$(date +%u)\" = 5 ];\nthen FLASK_APP=stanley/app.py flask request-feedback-command;\nfi\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthermondo%2Fstanley","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthermondo%2Fstanley","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthermondo%2Fstanley/lists"}