{"id":17919504,"url":"https://github.com/hiviexd/axerbot","last_synced_at":"2025-03-24T00:31:53.247Z","repository":{"id":37017846,"uuid":"454171836","full_name":"Hiviexd/AxerBot","owner":"Hiviexd","description":"general-purpose TypeScript Discord bot with osu! features related to mapping \u0026 modding","archived":false,"fork":false,"pushed_at":"2025-02-19T14:19:20.000Z","size":41619,"stargazers_count":21,"open_issues_count":4,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-19T00:52:21.335Z","etag":null,"topics":["bot","discord","discord-bot","discord-js","open-source","osu","osu-api","osu-bot","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/Hiviexd.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}},"created_at":"2022-01-31T21:12:55.000Z","updated_at":"2025-03-17T01:31:30.000Z","dependencies_parsed_at":"2025-01-22T17:33:47.657Z","dependency_job_id":null,"html_url":"https://github.com/Hiviexd/AxerBot","commit_stats":null,"previous_names":["hiviexd/axerbot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiviexd%2FAxerBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiviexd%2FAxerBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiviexd%2FAxerBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hiviexd%2FAxerBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hiviexd","download_url":"https://codeload.github.com/Hiviexd/AxerBot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245191212,"owners_count":20575244,"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","open-source","osu","osu-api","osu-bot","typescript"],"created_at":"2024-10-28T20:17:06.289Z","updated_at":"2025-03-24T00:31:48.233Z","avatar_url":"https://github.com/Hiviexd.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AxerBot\n\n[![CodeFactor](https://www.codefactor.io/repository/github/axerbot/axer-bot/badge/main)](https://www.codefactor.io/repository/github/axerbot/axer-bot/overview/main) [![GitHub license](https://img.shields.io/github/license/AxerBot/axer-bot?color=blue)](https://github.com/AxerBot/axer-bot/blob/main/LICENSE) ![Lines of code](https://img.shields.io/tokei/lines/github/axerbot/axer-bot) ![GitHub last commit](https://img.shields.io/github/last-commit/axerbot/axer-bot)\n\nA general-purpose and powerful Discord bot with osu! features related to mapping \u0026 modding\n\n- **[invite link](https://discord.com/api/oauth2/authorize?client_id=937807478429745213\u0026permissions=1256748215504\u0026scope=bot%20applications.commands)** (or run `/info` on a server the bot is in)\n- **[Discord server](https://discord.gg/MAsnz96qGy)**: If you want to notified with all bot updates, or make bug reports/feature requests.\n\n## About\n\nThis bot contains many features that makes your life easier as an osu! Discord server owner, moderator or member, including:\n\n- Message purging\n- Sending messages as the bot user\n- A configurable quote responses system\n- command cooldowns\n- A message logging system\n- A reminder system\n- A bunch of fun and trivial commands\n- Clickable osu! timestamps\n\u003cimg src =\"https://bns.are-la.me/992SNJv.png\" width=\"488\" /\u003e\n\n- Automatic beatmap discussion and comment embeds\n\u003cimg src =\"https://bns.are-la.me/9H5nUmX.png\" width=\"700\" /\u003e\n\nThe bot also interacts with osu!'s API v2 and [the BN/NAT Management website](https://bn.mappersguild.com/)'s interOp routes to provide you with multiple stats and management systems such as:\n\n- An OAuth2 verification system where you sign up with your osu! account in order to be granted access to the server, with usergroup-specific role assignments\n\u003cimg src =\"https://nats.are-la.me/1HzvzQs.png\" /\u003e\n\n- A feed system that actively keeps track of the request statuses for all BNs/NATs\n\n\u003cimg src =\"https://bns.are-la.me/5XHQimv.png\" width=\"500\" /\u003e\n\n- Several commands that allow you to view your playing/mapping stats from the osu! website or the BN/NAT website\n\u003cimg src =\"https://nats.are-la.me/5s5Lj1w.png\" width=\"800\" /\u003e\n\n## Thanks to\n\n- **[Sebola3461](https://github.com/Sebola3461)** for helping me a lot with this project!\n- **[pishifat](https://github.com/pishifat)** for granting me access to BN site's interOp routes.\n\n## Usage\n\n- invite the bot.\n- type `/help` to see a list of all available commands; Use `/help \u003ccommand\u003e` to see how a specific command works.\n\nfrom this step onwards, you can set up any of these following systems as a server owner/manager:\n\n- The osu! verification system\n- The logging channel\n- The quotes system\n- The command cooldowns system\n\n## Contributing\n\n**Before starting to work on things for this project, please open an issue that describes what you're working on, and wait for approval from one of the main devs!**\n\nIf you want to contribute to this project, please read the following to learn how to set up a local instance of the bot, and [read this](./commands/README.md) to learn more about the command structure of the bot:\n\n### Prerequisites\n\n- A Discord bot user\n- Node v17\n- yarn\n- MongoDB\n- an osu! API v2 client\n- (optional) BN site interOp access\n\n### Installation\n\n- Clone the repository\n- `yarn`\n- Set up `config.json`\n  - `owners`: array of Discord user IDs that will be considered as bot owners\n  - `ownersOsuIds`: array of osu! user IDs that will be considered as bot owners\n  - `automation`: boolean that determines whether the bot should run automated tasks\n- Set up `.env` file starting from the `.env.example` file\n  - `TOKEN`: bot's token\n  - `CLIENT_ID`: bot's client ID\n  - `OSU_CLIENT_ID`: osu! API v2 client ID\n  - `OSU_CLIENT_SECRET`: osu! API v2 client secret\n  - `PORT`: port, default is 3000\n  - `MONGO_USER`: MongoDB username\n  - `MONGO_PASSWORD`: MongoDB password\n  - `MONGO_DB`: mongoDB database name\n  - `MONGO_CLUSTER`: mongoDB cluster name\n  - `QAT_USER`: BN site interOp username[^optional-bnsite]\n  - `QAT_SECRET`: BN site interOp secret[^optional-bnsite]\n  - `OSU_USERNAME`: your osu! username[^optional-beatmaps]\n  - `OSU_PASSWORD`: your osu! password[^optional-beatmaps]\n- `yarn dev`\n\n[^optional-bnsite]: These are optional, but without those, all BN site-related functionality won't work (BN commands/tracking).\n[^optional-beatmaps]: These are optional, but without those, the \"Download\" button on beatmap embeds won't work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiviexd%2Faxerbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiviexd%2Faxerbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiviexd%2Faxerbot/lists"}