{"id":27808538,"url":"https://github.com/trugamr/botto","last_synced_at":"2026-02-19T12:01:56.819Z","repository":{"id":149365567,"uuid":"611226882","full_name":"Trugamr/botto","owner":"Trugamr","description":"🦦 Botto, a playful Discord bot for remote media playback","archived":false,"fork":false,"pushed_at":"2025-03-27T13:34:31.000Z","size":360,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-04T19:02:58.791Z","etag":null,"topics":["discord-bot","docker-image","media-playback","self-hosted","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Trugamr.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-03-08T11:42:57.000Z","updated_at":"2025-03-27T13:34:34.000Z","dependencies_parsed_at":"2025-01-23T17:25:32.600Z","dependency_job_id":"a4d88f6f-8d8d-4c5e-a343-f018b5ed2091","html_url":"https://github.com/Trugamr/botto","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Trugamr/botto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trugamr%2Fbotto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trugamr%2Fbotto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trugamr%2Fbotto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trugamr%2Fbotto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Trugamr","download_url":"https://codeload.github.com/Trugamr/botto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Trugamr%2Fbotto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29612509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T10:52:55.328Z","status":"ssl_error","status_checked_at":"2026-02-19T10:52:26.323Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["discord-bot","docker-image","media-playback","self-hosted","typescript"],"created_at":"2025-05-01T10:51:52.767Z","updated_at":"2026-02-19T12:01:56.803Z","avatar_url":"https://github.com/Trugamr.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"assets/icon.png\" width=\"128\" height=\"128\"\u003e\n\n# Botto 🦦\n\n[![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/trugamr/botto?sort=date)](https://hub.docker.com/r/trugamr/botto)\n[![Docker Pulls](https://img.shields.io/docker/pulls/trugamr/botto.svg)](https://hub.docker.com/r/trugamr/botto)\n[![GitHub issues](https://img.shields.io/github/issues/trugamr/botto)](https://github.com/trugamr/botto/issues)\n\nBotto, the otter named Otto, is a playful Discord bot that can play media from various remote sources in your Discord server.\n\n## Features\n\n- ✍ Written in TypeScript\n- 🎶 Queue multiple tracks from a playlist\n- 🎥 Livestream playback support\n- 🤝 Play in multiple guilds\n\nBotto is designed to be extensible and new features will be added over time.\n\n## Running\n\nBefore running Botto, you will need to have the following prerequisites installed:\n\n- [Node.js](https://nodejs.org/)\n- [pnpm](https://pnpm.io/)\n- [ffmpeg](https://ffmpeg.org/)\n- [yt-dlp](https://github.com/yt-dlp/yt-dlp)\n\n1. Clone the repository using `git clone https://github.com/trugamr/botto.git`\n2. Install dependencies using `pnpm install`\n3. Create a `.env` file using the provided `.env.example` file as a template, and fill in your own values.\n4. Build the project using `pnpm run build`\n5. Start the bot using `pnpm run start`\n\n## Docker\n\nYou can also play with Botto in a Docker container. To start the container, run:\n\n```bash\ndocker run -d --name botto -e DISCORD_CLIENT_ID=\u003cyour-client-id\u003e -e DISCORD_BOT_TOKEN=\u003cyour-bot-token\u003e trugamr/botto\n```\n\nMake sure to replace `\u003cyour-client-id\u003e` and `\u003cyour-bot-token\u003e` with your own values.\nFor a full list of available environment variables, please refer to the `.env.example` file included in the repository.\n\n## Contributing\n\nIf you would like to contribute, you can fork the repository, create a new feature or bugfix branch, and create a pull request.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE.md) file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrugamr%2Fbotto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrugamr%2Fbotto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrugamr%2Fbotto/lists"}