{"id":41225014,"url":"https://github.com/drkennetz/slackgpt","last_synced_at":"2026-01-23T00:34:35.256Z","repository":{"id":65653460,"uuid":"590644465","full_name":"drkennetz/slackgpt","owner":"drkennetz","description":"slack bot written in go that processes DM's / app mentions and replies with chat-gpt's response","archived":false,"fork":false,"pushed_at":"2023-05-02T01:19:21.000Z","size":10688,"stargazers_count":12,"open_issues_count":3,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2023-06-27T23:08:29.211Z","etag":null,"topics":["bot","chatgpt","chatgpt-api","go","golang","openai","slack"],"latest_commit_sha":null,"homepage":"","language":"Go","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/drkennetz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2023-01-18T21:51:31.000Z","updated_at":"2023-05-15T16:56:30.000Z","dependencies_parsed_at":"2023-02-17T21:46:05.230Z","dependency_job_id":null,"html_url":"https://github.com/drkennetz/slackgpt","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"purl":"pkg:github/drkennetz/slackgpt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drkennetz%2Fslackgpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drkennetz%2Fslackgpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drkennetz%2Fslackgpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drkennetz%2Fslackgpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drkennetz","download_url":"https://codeload.github.com/drkennetz/slackgpt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drkennetz%2Fslackgpt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28676145,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T20:48:19.482Z","status":"ssl_error","status_checked_at":"2026-01-22T20:48:14.968Z","response_time":144,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","chatgpt","chatgpt-api","go","golang","openai","slack"],"created_at":"2026-01-23T00:34:34.615Z","updated_at":"2026-01-23T00:34:35.242Z","avatar_url":"https://github.com/drkennetz.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eslackgpt\u003c/h1\u003e\r\n\u003cp align=\"center\"\u003e\r\n   \u003ca href='#GoVersion'\u003e\r\n      \u003cimg alt=\"GitHub go.mod Go version\" src=\"https://img.shields.io/github/go-mod/go-version/drkennetz/slackgpt\"\u003e\r\n   \u003c/a\u003e\r\n    \u003ca href=\"https://github.com/drkennetz/slackgpt\"\u003e\r\n        \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/drkennetz/slackgpt/ci.yml\"\u003e\r\n    \u003c/a\u003e\r\n    \u003ca href=\"https://codecov.io/github/drkennetz/slackgpt\" \u003e\r\n        \u003cimg src=\"https://codecov.io/github/drkennetz/slackgpt/branch/main/graph/badge.svg?token=8IHKB8J1AN\"/\u003e\r\n    \u003c/a\u003e\r\n    \u003ca href=\"https://github.com/drkennetz/slackgpt/issues\"\u003e\r\n        \u003cimg src=\"https://img.shields.io/github/issues/drkennetz/slackgpt\" alt=\"Issues\"\u003e\r\n   \u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\nslackgpt is a simple slack bot server which handles DM's and app mention events, sending the event to chat-gpt and responding to the channel with chat-gpt's response.\r\n\r\nslackgpt can respond to both direct messages, or threads in a channel. It can handle multiple conversations concurrently, enabling parallel conversations to happen simultaneously in channels it has been added to.\r\n\r\n## Table of Contents\r\n- [Quick Start](#Quick-Start)\r\n- [Bot Setup](./example/walkthrough.md)\r\n- [DM Example](#DMS)\r\n- [Thread Example](#Threads)\r\n- [Contributing](#Contributing)\r\n- [Open an Issue](#Issues)\r\n- [Code of Conduct](#Code-of-Conduct)\r\n\r\n\r\n## Quick Start\r\nBuild the binary, add tokens to config, and run!\r\n\r\n### Build\r\n```bash\r\n# requires \u003e= go 1.18 to build from source\r\ngit clone https://github.com/drkennetz/slackgpt.git\r\ncd slackgpt \u0026\u0026 go build -o ./bin/slackgpt\r\n```\r\n\r\n### Config\r\n\r\nFor a more thorough walk-through of setting up the bot and getting tokens, visit [this detailed doc](./example/walkthrough.md).\r\n```\r\nCGPT_API_KEY=sk-...z7\r\nSLACK_APP_TOKEN=xapp-1-...47\r\nSLACK_BOT_TOKEN=xoxb-...S0\r\n```\r\n\r\n### Run\r\n\r\n#### Help\r\n```bash\r\nThis program is a slack bot that sends mentions to chat-gpt and responds with chat-gpt result\r\n\r\nVERSION: development\r\n\r\nUsage: slackgpt --config CONFIG [--type TYPE] [--debug]\r\n\r\nOptions:\r\n  --config CONFIG, -c CONFIG\r\n                         config file with slack app+bot tokens, chat-gpt API token\r\n  --type TYPE, -t TYPE   the config type [json, toml, yaml, hcl, ini, env, properties]; if not passed, inferred from file ext\r\n  --debug                set debug mode for client logging\r\n  --help, -h             display this help and exit\r\n  --version              display version and exit\r\n```\r\n#### Run\r\n```\r\n./bin/slackgpt -c ./config.env [-t config type] [--debug]\r\n2023/02/01 14:53:19 Config values parsed\r\nsocketmode: 2023/02/01 14:53:19 socket_mode_managed_conn.go:258: Starting SocketMode\r\n2023/02/01 14:53:19 Connecting to Slack with Socket Mode...\r\n...\r\n```\r\n\r\n## DMS\r\n\u003cdetails\u003e\r\n  \u003csummary\u003eConversation in DM's\u003c/summary\u003e\r\n\r\n  ![DMS](./example/conversation.gif)\r\n\r\n\u003c/details\u003e\r\n\r\n## Threads\r\n\u003cdetails\u003e\r\n  \u003csummary\u003eConversation in threads\u003c/summary\u003e\r\n\r\n  ![Threads](./example/conversation_in_threads.gif)\r\n\r\n\u003c/details\u003e\r\n\r\n## Slack Commands\r\n| **Command** | **Description** | **Usage Example** |\r\n|---|---|---|\r\n| clear convo | clear conversation of thread where command is called | '@slackgpt clear convo' |\r\n\r\n## Contributing\r\nPlease follow the [Contribution File](./Contribution.md) to contribute to this repo.\r\n\r\n## Issues\r\nTo submit an issue, select the issue template that most closely\r\ncorresponds with your issue type and submit. Someone will get to you soon!\r\n\r\n## Code of Conduct\r\nPlease note that slackgpt has a [Code of Conduct](./CODE_OF_CONDUCT.md).\r\nBy participating in this community, you agree to abide by its rules.\r\nFailure to abide will result in warning and potentially expulsion from this community.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrkennetz%2Fslackgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrkennetz%2Fslackgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrkennetz%2Fslackgpt/lists"}