{"id":27913599,"url":"https://github.com/mgerb/go-discord-bot","last_synced_at":"2026-02-28T07:05:03.547Z","repository":{"id":93050823,"uuid":"78891910","full_name":"mgerb/go-discord-bot","owner":"mgerb","description":"Discord sound bot to play and record sound clips","archived":false,"fork":false,"pushed_at":"2023-03-24T03:03:36.000Z","size":75443,"stargazers_count":4,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-06T14:16:21.865Z","etag":null,"topics":["dca","discord","go","opus","react","soundboard"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/mgerb/go-discord-bot/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgerb.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-01-13T22:31:47.000Z","updated_at":"2024-05-06T12:20:35.000Z","dependencies_parsed_at":"2023-06-09T05:30:14.186Z","dependency_job_id":null,"html_url":"https://github.com/mgerb/go-discord-bot","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/mgerb/go-discord-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerb%2Fgo-discord-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerb%2Fgo-discord-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerb%2Fgo-discord-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerb%2Fgo-discord-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgerb","download_url":"https://codeload.github.com/mgerb/go-discord-bot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgerb%2Fgo-discord-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280080716,"owners_count":26268359,"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","status":"online","status_checked_at":"2025-10-20T02:00:06.978Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["dca","discord","go","opus","react","soundboard"],"created_at":"2025-05-06T14:16:15.922Z","updated_at":"2025-10-20T11:06:37.350Z","avatar_url":"https://github.com/mgerb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discord Sound Bot\n\nA soundboard bot for discord. Built with Go/React.\n\n![Image](./screenshots/sound-bot.png)\n\n## How to use\n\n- [Download latest release here](https://github.com/mgerb/go-discord-bot/releases)\n- Install [yt-dlp](https://github.com/yt-dlp/yt-dlp)\n- Install [ffmpeg](https://www.ffmpeg.org/download.html)\n- edit your config.json file\n- `docker-compose up`\n- go to http://localhost:8088\n\n### With docker-compose\n\nMake sure to create a `config.json` file in your data volume.\nTake a look at `config.template.json` for example configurations.\n\ndocker-compose.yml\n\n```\nversion: \"3\"\n\nservices:\n  go-discord-bot:\n    image: mgerb/go-discord-bot:latest\n    restart: unless-stopped\n    ports:\n      - 8088:8080\n    volumes:\n      - \u003cpath to your data directory\u003e:/bot\n      - /usr/local/bin/youtube-dl:/usr/bin/youtube-dl\n```\n\n#### Running Bot Scripts\n\nUse the following scripts\n\n- restore-messages\n  - used to search message history and store in database\n- update-db\n  - used to run additional DB change scripts (will likely never have to be run)\n\nExample:\n\n```\ndocker-compose exec go-discord-bot /server/bot-scripts update-db\ndocker-compose exec go-discord-bot /server/bot-scripts restore-message \u003croomID\u003e\n```\n\n### Commands\n\n- `clip` - clips the past minute of audio\n- `summon` - summons the bot to your current channel\n- `dismiss` - dismisses the bot from the server\n- `\u003caudio clip\u003e` - play a named audio clip\n- `random` - play a random audio clip\n\n### Uploading files\n\nDiscord oauth is used to authenticate users in order to upload files.\nTo get oauth working you must set up your bot client secret/id in the config.\nYou must also set up the redirect URI. This is needed so discord can redirect\nback to your site after authentication. Discord doesn't like insecure redirects\nso you will have to use a proxy for this. I prefer using [caddy](https://github.com/mholt/caddy)\nwith the following config.\n\n```\nhttps://localhost {\n  tls self_signed\n  proxy / http://localhost:8080 {\n    transparent\n  }\n}\n```\n\nFor public hosting you will want to use something like this.\n\n```\nhttps://\u003cyour domain name\u003e {\n  tls \u003cyour email\u003e\n  proxy / http://localhost:8080 {\n    transparent\n  }\n}\n```\n\n### Stats\n\nIf logging is enabled the bot will log all messages and store in a database file. Currently the bot keeps track of\nall messages that contain links in them. I added this because it's something we use in my discord.\nCheck it out in the \"Stats\" page on the site.\n\n## Building from Source\n\n### Dependencies\n\n- Go (1.17+)\n- node/npm (node 16)\n\n### Compiling and Running\n\n- `cd client \u0026\u0026 npm install \u0026\u0026 npm run build`\n- `cd server \u0026\u0026 go build -o ../bot`\n- `./bot`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgerb%2Fgo-discord-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgerb%2Fgo-discord-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgerb%2Fgo-discord-bot/lists"}