{"id":16218363,"url":"https://github.com/amgelo563/hermes-bot","last_synced_at":"2025-07-31T22:14:23.163Z","repository":{"id":225564533,"uuid":"766290360","full_name":"Amgelo563/hermes-bot","owner":"Amgelo563","description":"A Discord bot for publishing service offers and requests.","archived":false,"fork":false,"pushed_at":"2025-03-01T21:00:23.000Z","size":727,"stargazers_count":4,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-17T06:22:41.288Z","etag":null,"topics":["bot","discord","discord-bot","discord-js","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/Amgelo563.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}},"created_at":"2024-03-02T21:11:19.000Z","updated_at":"2025-03-01T21:00:26.000Z","dependencies_parsed_at":"2024-03-06T18:41:32.035Z","dependency_job_id":null,"html_url":"https://github.com/Amgelo563/hermes-bot","commit_stats":null,"previous_names":["amgelo563/hermes-bot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Amgelo563%2Fhermes-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Amgelo563%2Fhermes-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Amgelo563%2Fhermes-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Amgelo563%2Fhermes-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Amgelo563","download_url":"https://codeload.github.com/Amgelo563/hermes-bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244407802,"owners_count":20447849,"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","discord","discord-bot","discord-js","typescript"],"created_at":"2024-10-10T11:49:17.089Z","updated_at":"2025-03-19T10:31:02.077Z","avatar_url":"https://github.com/Amgelo563.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hermes-bot\n\nA Discord.js bot for services publishing, made with [nyx](https://github.com/nyx-discord/nyx).\n\n## Features\n\n### Service Offers and Requests (Services)\n\n* Publishing services with a user friendly interface, giving a preview of the service and warnings or denied\n  requirements. Also allows editing and deleting offers, as well as republishing them.\n* Configurable requirements that the user or published service must meet (denying the creation otherwise) or should\n  meet (warning the user otherwise).\n\n## Messages\n\n* Completely configurable messages for every bot component (no hardcoded messages).\n* Supports multiple languages, allowing to select one in the config.\n* Powerful placeholder system to display information in messages.\n* Uses the powerful HOCON syntax, allowing for easy reusability.\n\n## Setting up\n\n### Manual installation\n\n1. Copy one of the templates in `./example-config` and paste it as `./config`, then edit it accordingly.\n2. Optionally, change the datasource provider in `prisma/schema.prisma` to `mysql`, `postgresql` or `sqlite` (default).\n3. Create a `.env` file with the following content:\n\n```bash\n# For MySQL: mysql://user:password@host:port/database\n# For PostgreSQL: postgresql://user:password@host:port/database\n# For SQLite: file:./\u003cpath\u003e.db, relative to ./prisma. For example: file:../database.db\nDATABASE_URL=The connection URL to your database.\n```\n\n4. Run `pnpm install` to install the dependencies, `pnpm build` to build the bot and `pnpm start` to start it.\n\n### Docker\n\nAlternatively, use the provided Dockerfile:\n\n```bash\n# Build the image (only once or after updating)\ndocker build -t hermes-bot .\n\n# Start the bot, mounting the config directory\ndocker run --name hermes-bot --mount type=bind,source=\"$(pwd)\"/config,target=/usr/src/app/config -d hermes-bot\n\n# Use `docker restart hermes-bot` to restart the bot after doing changes in config.\n```\n\nKeep in mind that you still need to follow the first step in the manual installation.\n\n### Post installation\n\nWhen starting, you can use the `--deploy` flag if you want it to deploy commands. For example:\n\n```bash\npnpm start --deploy\n```\n\nOr when running with Docker:\n\n```bash\ndocker run --name hermes-bot --mount type=bind,source=\"$(pwd)\"/config,target=/usr/src/app/config -d hermes-bot --deploy\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famgelo563%2Fhermes-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famgelo563%2Fhermes-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famgelo563%2Fhermes-bot/lists"}