{"id":18571831,"url":"https://github.com/bcneng/candebot","last_synced_at":"2025-04-10T07:30:43.529Z","repository":{"id":37096900,"uuid":"188598275","full_name":"bcneng/candebot","owner":"bcneng","description":"Our lovely opinionated slack bot","archived":false,"fork":false,"pushed_at":"2024-09-19T05:24:54.000Z","size":249,"stargazers_count":17,"open_issues_count":6,"forks_count":15,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-30T05:42:25.546Z","etag":null,"topics":["bot","hacktoberfest","slack"],"latest_commit_sha":null,"homepage":"","language":"Go","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/bcneng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"github":"bcneng","open_collective":"bcneng"}},"created_at":"2019-05-25T18:10:14.000Z","updated_at":"2024-08-20T19:49:17.000Z","dependencies_parsed_at":"2024-04-17T15:24:30.181Z","dependency_job_id":"cf3c2d2f-1f91-4c4a-9b02-8844d1f1230b","html_url":"https://github.com/bcneng/candebot","commit_stats":{"total_commits":148,"total_committers":16,"mean_commits":9.25,"dds":0.6756756756756757,"last_synced_commit":"0225626139ca8525e2e41722d4618e1fad12cc10"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcneng%2Fcandebot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcneng%2Fcandebot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcneng%2Fcandebot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcneng%2Fcandebot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcneng","download_url":"https://codeload.github.com/bcneng/candebot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223275909,"owners_count":17118250,"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":["bot","hacktoberfest","slack"],"created_at":"2024-11-06T23:03:54.850Z","updated_at":"2024-11-06T23:03:54.910Z","avatar_url":"https://github.com/bcneng.png","language":"Go","funding_links":["https://github.com/sponsors/bcneng","https://opencollective.com/bcneng"],"categories":[],"sub_categories":[],"readme":"# Candebot\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/bcneng/candebot?style=flat-square)](https://goreportcard.com/report/github.com/bcneng/candebot)\n\n![634885518034_68b9e6615588d0cf48f6_512](https://user-images.githubusercontent.com/1083296/93481058-7108b880-f8fe-11ea-859e-5cb3b90927d3.jpg)\n\nOur lovely opinionated Slack bot. Find it in [BcnEng Slack workspace](https://slack.bcneng.org) as `@candebot`.\n\n## Features\n- Commands emulating a command line tool. Via Slack slash (`/`) or mentioning the bot. See [/cmd](cmd). For example:\n  - `coc` - Shows the Code of Conduct.\n  - `netiquette` - Shows the Netiquette.\n  - `staff` - Shows the list of staff members.\n  - `echo` - Sending messages as the bot user. Only available to admins.\n  - `candebirthday` - Days until [@sdecandelario](https://bcneng.slack.com/archives/D9BU155J9) birthday! Something people cares.\n- Filter stopwords in messages. Suggest more inclusive alternatives to the user. See [/inclusion](inclusion).\n- Submission and validation of job posts. Posted in the `#hiring-job-board` channel via a form.\n- Message actions. For example:\n  - Deleting a message and the whole thread. Only available to admins.\n  - Report messages to the admins.\n\n## Configuration\nCandebot can be configured via Toml file + environment variables.\nThe need for setting up environment variables when using the Toml file is due to the fact that some of the configurations is sensitive and should not be stored in a file.\n\n### Environment variables\nAll environment variables are prefixed with `BOT_`. For example, `BOT_BOT_USER_TOKEN`. If you want to change the prefix, you can set `-env-prefix \u003cprefix\u003e` flag when running the bot.\n\nThe following environment variables are needed in order to run the bot:\n\n- `BOT_BOT_USER_TOKEN` - Slack bot user token. Used to authenticate the bot user.\n- `BOT_BOT_ADMIN_TOKEN` - Slack user token with admin rights. Used to authenticate the bot user when performing admin actions.\n- `BOT_BOT_SERVER_SIGNING_SECRET` - Slack app signing secret. Used to verify the authenticity of the requests.\n\nThere are more environment variables that can be set. Please, check [/bot/config.go](bot/config.go).\n\n### Toml File\nBy default, `./.bot.toml` is used as the configuration file. If you want to change the path, you can set `-config \u003cfilepath\u003e` flag when running the bot.\n\nPlease, use the [following file](.bot.toml) as a reference.\n\n## Installation\n\n```\ngo get -u github.com/bcneng/candebot\n```\n\n## Usage\n\n```\nBOT_BOT_USER_TOKEN=\u003cslack-bot-user-token\u003e \\\nBOT_BOT_ADMIN_TOKEN=\u003cslack-user-with-admin-rights-token\u003e \\ \nBOT_BOT_SERVER_SIGNING_SECRET=\u003cslack-app-signing-secret\u003e \\\n\ncandebot\n```\n\nYou can get your bot user token by creating a Slack app via https://api.slack.com/apps.\n\n## Deployment\n\nThere is no preference for deployment. You can deploy it in any way you want. For example, using Docker.\nThe files required will always be:\n\n- Compiled binary of the bot.\n- `.bot.toml` file with the configuration.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcneng%2Fcandebot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbcneng%2Fcandebot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcneng%2Fcandebot/lists"}