{"_id":"@chelium/disharmony","_rev":"2-7fa6095bce43d26f7bcd9095bd199bc0","name":"@chelium/disharmony","dist-tags":{"latest":"2.1.0"},"versions":{"2.0.8":{"author":{"name":"Benjamin Higgins","email":"mail@brhiggins.com"},"dependencies":{"@hapi/joi":"^15.0.3","@types/hapi__joi":"^15.0.1","@types/mongodb":"^3.1.27","@types/node":"^11.13.12","@types/request-promise-native":"^1.0.16","discord.js":"^11.5.1","mongodb":"^3.2.6","nedb":"^1.8.0","request":"^2.88.0","request-promise-native":"^1.0.7","simple-file-writer":"^2.0.0","strongly-typed-events":"^1.4.10","typed-promisify":"^0.4.0","typescript":"^3.5.3"},"description":"Discord bot framework built on discord.js","devDependencies":{"alsatian":"^2.4.0","tslint":"^5.18.0","typemoq":"^2.1.0"},"homepage":"https://github.com/bhigginsuk/disharmony#readme","keywords":["discord","discordapp","framework","client"],"license":"MIT","main":"dist/index.js","name":"@chelium/disharmony","repository":{"type":"git","url":"git+https://github.com/chelium/disharmony.git"},"scripts":{"build":"tsc --project tsconfig.prod.json","build-test":"tsc --project tsconfig.json && npm test","lint":"tslint --project .","test":"node --stack-trace-limit=1 test-runner.js"},"types":"dist/index.d.ts","version":"2.0.8","bugs":{"url":"https://github.com/chelium/disharmony/issues"},"gitHead":"7072772a6bcb39e6875db12a45a2bb91ac6d9bba","_id":"@chelium/disharmony@2.0.8","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"integrity":"sha512-k8sWzJOk65GjJ0X1+u1ups0O/MTywbItfWxIYvTMSl5+qj8onYEcvnFv5IjGELtI4GMebyr3tuwJosH0XRJI2Q==","shasum":"0f83d3902f90ddc1771033ce518265d912ddcb57","tarball":"https://registry.npmjs.org/@chelium/disharmony/-/disharmony-2.0.8.tgz","fileCount":144,"unpackedSize":183253,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJge0vPCRA9TVsSAnZWagAATOEQAJqV9reA9F91E5NYb42G\ndPFUjox1CIAxnKhcRciMS6U08XaXRDRtmDJp8uksIBaebMQ+kUBVpm/IolKm\njO4ao3T0Yq6atW7bJUMpS9VgVz9MbhIsfa2V48pTP71xkHNwih5Qsly2WODa\nhwLX+t52xP1FnLgDMTHRW4JipRiYWOw2rTkoCSnKPCjmInyGADlSNzycJiH5\n8hHNaP/ayHjq/1UdtQrzFqw+KYel2z9q9FUdIRodL4odOOuBw/plQGoarK5h\nMJEQVTwEBOGc2hvCb0Xd9JeahsLDjYFKOFCLEjjFk8oN3e9ZrC+A8nOQKDry\nrc7OdoQQm7e2HS/rrdw3fWeWd5+mefubz4pEs2U3f0irBfmUiacvU9hNCwAv\n3FhHv/zlTkn197eBeChARHEB9xBybi1ymR1cHn4qZsl4Ng21sdmyLk2Qt6RE\nyfSwrvbS/XZwJyuxrxvJ7fV0ANxTtZaJqU2hF64fwItaSd5cQQ3eyqzjWXOx\nOSv+cefqwOFZvHuEo9q6UAj8Rc7HB6BfwYTlNISsGrkqAGwuYeil0FfqV5uI\nu678v1CdrqLLoCMY4jztcMDsuShJxMbUGufU7KRaHyRVCdT6fqI22obGRCOH\n1U5YtzKdO717B/Vqy0l4dhz7aGomlDxSd5Jafc/VIAFiQuWNvfrxStzJdb97\n8aOk\r\n=uqMD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDRKcsCVY4/obfb7eD4I6aeMNPRz0YWhDI3bCwPSc3CgAiALsKAKnT7cS4OKjtTDU5tuZnpIJbReYC64u8VEauNgzA=="}]},"_npmUser":{"name":"chelium","email":"chris7he@gmail.com"},"directories":{},"maintainers":[{"name":"chelium","email":"chris7he@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/disharmony_2.0.8_1618693070844_0.18432960501852547"},"_hasShrinkwrap":false},"2.1.0":{"author":{"name":"Benjamin Higgins","email":"mail@brhiggins.com"},"dependencies":{"@hapi/joi":"^15.0.3","@types/hapi__joi":"^15.0.1","@types/mongodb":"^3.1.27","@types/node":"^11.13.12","@types/request-promise-native":"^1.0.16","@types/ws":"^7.4.1","discord.js":"^12.5.3","mongodb":"^3.2.6","nedb":"^1.8.0","request":"^2.88.0","request-promise-native":"^1.0.7","simple-file-writer":"^2.0.0","strongly-typed-events":"^1.4.10","typed-promisify":"^0.4.0","typescript":"^3.5.3"},"description":"Discord bot framework built on discord.js","devDependencies":{"alsatian":"^2.4.0","tslint":"^5.18.0","typemoq":"^2.1.0"},"homepage":"https://github.com/bhigginsuk/disharmony#readme","keywords":["discord","discordapp","framework","client"],"license":"MIT","main":"dist/index.js","name":"@chelium/disharmony","repository":{"type":"git","url":"git+https://github.com/chelium/disharmony.git"},"scripts":{"build":"tsc --project tsconfig.prod.json","build-test":"tsc --project tsconfig.json && npm test","lint":"tslint --project .","test":"node --stack-trace-limit=1 test-runner.js"},"types":"dist/index.d.ts","version":"2.1.0","bugs":{"url":"https://github.com/chelium/disharmony/issues"},"gitHead":"3308b85842a113311bc31425b525c549156ab23f","_id":"@chelium/disharmony@2.1.0","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"integrity":"sha512-NbB7lTHYRViJKggU5mn8N8Pn2gLPVRtxCNh6lBOtk3kW+KX8CRXhvF4+qnGbrh2qmVmT+YPZAAFO1MtFxnOEQA==","shasum":"68ca6e981f91c7bb34ce4979a03c10f6e99a6dbb","tarball":"https://registry.npmjs.org/@chelium/disharmony/-/disharmony-2.1.0.tgz","fileCount":144,"unpackedSize":185622,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJge30eCRA9TVsSAnZWagAA4EYP/A/pOYUnkJAhPkFQ+NLN\nf/yfjvza1bMCTowMcL219iGSLZegNkEH3xx5BDmf4RoAAcF1KXdoASDquoN2\np+PuL0iOmRcEHn9x811cpxwrbJDz1KQkv/MQ/9yUyi0IRz1/6twVzkkDiqdg\nGYxcPAsvDDd0tFrzFy2NPu4E1nMv4UIWns9dmGpfdYT4NKFbvU0fzNCiKLiR\nhRuMKmsqTpB0y9GZUtXgfhdwDFHm+dVMYD02rzlkGK7HCV1seTd5AgYddFjt\nqXk0N8gO6zwC18e1CRDdjZqqBT72t/27AzTzeCHnLAA7rh8ELXY9rBoq93f/\ncWtys1jkbAPcf8Rk2e0V+//OClBX0/FbBkgtfYTsu+P8vxfo8dxr6Pj4qlSq\nGQwBUNcYIV97RhNvBfP0rKPIefke/GwWxdPEhdWvhJPcoVRm/zaJQ6wYpnBa\n1gPKy7lh+7HJFsziS8BoPI+DMB1kAVarDTREAt6EBHn8gtyuPo61CnOe1ZwC\nv+JBdOu0dJ1PCrCtDku4qBnhy89zsZW4Vh7opPWFyuOOjJaZLVsBZIoJGc7Q\nQN+l06SauU+WMhYNrmPWC9ZRBebRfD9T9lrQY7jhI2/oFvBhh7hRG1LDWwT5\nUdFV+f/8Mtaef6PAgNglX2pdfMFNu0D1GOxO+/3FZR/QZkUKfJvuNF5/xTEo\nKiyc\r\n=HTdn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAHkg1JFkBTv6Ly7qYLgcW0Y6eAj2fKEzoC4jTwsJKCuAiAZwVFN+tGMndSQgdXY3Ryvplrchr1g++555fCHs+0XmA=="}]},"_npmUser":{"name":"chelium","email":"chris7he@gmail.com"},"directories":{},"maintainers":[{"name":"chelium","email":"chris7he@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/disharmony_2.1.0_1618705693843_0.4602414063181901"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-17T20:57:50.801Z","2.0.8":"2021-04-17T20:57:50.985Z","modified":"2022-04-04T22:38:10.540Z","2.1.0":"2021-04-18T00:28:13.943Z"},"maintainers":[{"name":"chelium","email":"chris7he@gmail.com"}],"description":"Discord bot framework built on discord.js","homepage":"https://github.com/bhigginsuk/disharmony#readme","keywords":["discord","discordapp","framework","client"],"repository":{"type":"git","url":"git+https://github.com/chelium/disharmony.git"},"author":{"name":"Benjamin Higgins","email":"mail@brhiggins.com"},"bugs":{"url":"https://github.com/chelium/disharmony/issues"},"license":"MIT","readme":"![Build status](https://github.com/bhigginsuk/disharmony/actions/workflows/validate.yml/badge.svg?branch=master)\n\n# Disharmony\nA Discord bot framework built on top of [discord.js](https://github.com/discordjs/discord.js) with command parsing and basic Mongo-like database integration\n\n## Features\n- Built on top of [discord.js](https://github.com/discordjs/discord.js)\n- Command handling\n    - Syntax parsing\n    - Per-server configurable prefix\n    - Permission levels\n- Basic default commands\n    - Help menu\n    - Statistics\n    - Version number\n- Mongo-like database support\n    - MongoDB\n    - [NeDB Core](https://github.com/nedbhq/nedb-core)\n- Extensible\n\n## Use cases\n- Create bots without bothering with boilerplate\n- Focus on bot features rather than discord/database integrations\n- Reduce the amount of similar code between bots\n\n## Examples\n- [Role Assigner](https://github.com/benjihiggins/discord-role-assigner)\n- [RSS Fetcher](https://github.com/benjihiggins/discord-rss-fetcher)\n- [Activity Monitor](https://github.com/benjihiggins/discord-activity-monitor/)\n\n## Development\n### Prerequisites\n- [NodeJS v10](https://nodejs.org/en/) installed\n\n### Setup\n- `npm install` to install dependencies\n- `tsc` to compile JS into dist/\n\n### Tests\n- Written in TypeScript using [Alsatian](https://github.com/alsatian-test/alsatian)\n- Run with `npm test`\n\n## CI setup\n- The repository is configured for CI using [Buildkite](https://buildkite.com/)\n- Pipelines are stored in [.buildkite](./buildkite) and should be loadeg using Buildkite's 'read from repository' step\n- The [standard pipeline](./buildkite/pipeline.yml) deals with linting, building and running tests\n- The [publish pipeline](./buildkite/publish.pipeline.yml) will publish the package to NPM when triggered\n    - The Buildkite agent must have an NPM auth token set in the *NPM_AUTH_TOKEN* environment variable\n\n- Docker and Git must both be installed on the Buildkite agent\n- If running the agent on Windows, a couple of extra configuration steps need to be performed\n    - The drive the Buildkite agent writes to needs to be shared with Docker\n    - Git's /bin folder needs to be in the PATH\n    - Git's global config option *core.autocrlf* needs to be set to *false* (as the files are used in a Linux docker image)\n\n## Built With\n- [TypeScript](https://www.typescriptlang.org/) - *language*\n- [discord.js](https://github.com/discordjs/discord.js) - *Discord library*\n- [NeDB](https://github.com/louischatriot/nedb) - *local database engine*\n- [MongoDB](https://github.com/mongodb/node-mongodb-native) - *remote database engine*\n- [Alsatian](https://github.com/alsatian-test/alsatian) - *test framework*\n- [TypeMoq](https://github.com/florinn/typemoq) - *mocking library*\n\n## Documentation\n- See [docs/](./docs)\n\n## Versioning\n[SemVer](http://semver.org/) is used for versioning; view available versions on the [tags page](https://github.com/your/project/tags)\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details\n","readmeFilename":"README.md"}