{"id":25975787,"url":"https://github.com/strange-bot/strange-bot","last_synced_at":"2025-09-13T08:36:40.071Z","repository":{"id":280520662,"uuid":"796342972","full_name":"strange-bot/strange-bot","owner":"strange-bot","description":"Premium Version of discord-js bot with plugin system","archived":false,"fork":false,"pushed_at":"2025-07-16T05:05:25.000Z","size":1841,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-17T07:50:50.062Z","etag":null,"topics":["discord-js-bot","plugin-system","premium-bot"],"latest_commit_sha":null,"homepage":"https://strangebot.fun","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/strange-bot.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":"2024-05-05T16:58:20.000Z","updated_at":"2025-07-16T05:05:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"91712f78-4300-47ae-8d85-dbd5cd115675","html_url":"https://github.com/strange-bot/strange-bot","commit_stats":null,"previous_names":["strange-bot/strange-bot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/strange-bot/strange-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strange-bot%2Fstrange-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strange-bot%2Fstrange-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strange-bot%2Fstrange-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strange-bot%2Fstrange-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/strange-bot","download_url":"https://codeload.github.com/strange-bot/strange-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/strange-bot%2Fstrange-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274939519,"owners_count":25377821,"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-09-13T02:00:10.085Z","response_time":70,"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":["discord-js-bot","plugin-system","premium-bot"],"created_at":"2025-03-05T03:24:08.280Z","updated_at":"2025-09-13T08:36:40.062Z","avatar_url":"https://github.com/strange-bot.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Strange Bot\n\nA premium Discord bot with a plugin-based architecture that allows for easy extensibility and customization.\n\n## Features\n\n- **Plugin System:** Easily extend the bot's functionality through plugins\n- **Dashboard:** Web interface for managing bot settings and plugins\n- **Multi-Guild Support:** Configure the bot differently for each Discord server\n- **Database Integration:** MongoDB and Redis support for data persistence\n- **Internationalization:** Support for multiple languages\n- **Sharding Support:** Scale the bot across multiple processes for large Discord servers\n\n## Project Structure\n\n```\n├── apps/                  # Applications\n│   ├── bot/               # Discord bot application\n│   └── dashboard/         # Web dashboard\n├── packages/              # Core libraries\n│   ├── strange-core/      # Core functionality\n│   ├── strange-db-client/ # Database client\n│   └── strange-sdk/       # Plugin SDK\n└── plugins/               # Bot plugins\n```\n\n## Installation (Without Docker)\n\n### Prerequisites\n\n- Node.js 18 or higher\n- MongoDB\n- Redis (for caching)\n- pnpm package manager\n\n### Setup\n\n1. Clone the repository\n\n```bash\ngit clone https://github.com/strange-bot/strange-bot.git\ncd strange-bot\n```\n\n2. Install dependencies\n\n```bash\npnpm install\n```\n\n3. Set up environment variables\n\n```bash\ncp apps/bot/.env.example apps/bot/.env\ncp apps/dashboard/.env.example apps/dashboard/.env\n```\n\n4. Start the bot\n\n```bash\n# Start both bot and dashboard\npnpm start\n\n# Start only the bot\npnpm start:bot\n\n# Start only the dashboard\npnpm start:dashboard\n```\n\n## Installation (With Docker)\n\n### Prerequisites\n\n- Docker and Docker Compose\n\n### Setup\n\n1. Clone the repository\n\n```bash\ngit clone https://github.com/strange-bot/strange-bot.git\ncd strange-bot\n```\n\n2. Copy the example environment file\n\n```bash\ncp .env.docker.example .env.docker\n```\n\n3. Edit the `.env.docker` file to set your environment variables.\n\n4. Build and run the Docker containers\n\n```bash\ndocker compose --env-file .env.docker up -d\n```\n\n5. Stop the containers when you're done\n\n```bash\ndocker compose --env-file .env.docker down\n```\n\n\n## Environment Variables\n\nBefore running the bot and dashboard, you need to configure the environment variables. Here's a breakdown of the required variables:\n\n### Mongo Variables (Docker Only)\n\n- `MONGO_INITDB_ROOT_USERNAME`: MongoDB root username.\n- `MONGO_INITDB_ROOT_PASSWORD`: MongoDB root password.\n\n### Shared Variables\n\n- `IPC_SERVER_PORT`: Port for inter-process communication between the bot and dashboard.\n- `REDIS_URL`: URL for the Redis server.\n- `MONGO_URI`: Connection string for the MongoDB database.\n- `OWNER_IDS`: Comma-separated list of Discord user IDs who are bot owners.\n- `SENTRY_DSN`: DSN for Sentry error tracking (optional).\n- `REGISTRY_PATH`: Path to the plugins registry file.\n- `PLUGINS_DIR`: Path to the directory containing the bot plugins.\n\n### Bot Variables\n\n- `BOT_TOKEN`: The Discord bot token.\n- `SHARDS`: Number of shards to use. Can be set to `auto` for automatic sharding.\n\n### Dashboard Variables\n\n- `DASHBOARD_BASE_URL`: Base URL for the dashboard.\n- `DASHBOARD_PORT`: Port for the dashboard to listen on.\n- `CLIENT_ID`: Discord application client ID.\n- `CLIENT_SECRET`: Discord application client secret.\n- `SESSION_COOKIE`: Name of the session cookie (Long random string).\n- `SESSION_SECRET`: Secret key for session management (Long random string).\n- `TOKEN_ENCRYPTION_KEY`: Encryption key for encrypting tokens (Long random string).\n\n## Development\n\n```bash\n# Run in development mode\npnpm dev\n\n# Bot only\npnpm dev:bot\n\n# Dashboard only\npnpm dev:dashboard\n```\n\n## Plugin System\n\nStrange Bot uses a modular plugin system that allows for easy extension of functionality. Plugins are automatically loaded from the plugins directory.\n\n### Creating a Plugin\n\nComing soon...\n\n## License\n\nThis project is licensed under the GNU Affero General Public License v3.0.\n\n## Contributing\n\nContributions are welcome! Please feel free to report bugs or submit feature requests.\n\n---\n\n**Note:** This is a pre-release version. Please report any bugs or issues you encounter.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrange-bot%2Fstrange-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstrange-bot%2Fstrange-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstrange-bot%2Fstrange-bot/lists"}