{"id":18281928,"url":"https://github.com/tyrone-sudeium/aethebot","last_synced_at":"2025-04-05T06:30:45.802Z","repository":{"id":18777351,"uuid":"80813259","full_name":"tyrone-sudeium/aethebot","owner":"tyrone-sudeium","description":"A Discord chatbot","archived":false,"fork":false,"pushed_at":"2025-02-17T06:27:40.000Z","size":6768,"stargazers_count":4,"open_issues_count":10,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-20T23:33:50.878Z","etag":null,"topics":["chatbot","discord","discord-bot"],"latest_commit_sha":null,"homepage":null,"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/tyrone-sudeium.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":"2017-02-03T09:01:04.000Z","updated_at":"2025-02-17T06:27:44.000Z","dependencies_parsed_at":"2024-01-22T09:12:20.856Z","dependency_job_id":"4ea5000f-ff9e-4ef4-a775-80b88e4f664a","html_url":"https://github.com/tyrone-sudeium/aethebot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyrone-sudeium%2Faethebot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyrone-sudeium%2Faethebot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyrone-sudeium%2Faethebot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tyrone-sudeium%2Faethebot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tyrone-sudeium","download_url":"https://codeload.github.com/tyrone-sudeium/aethebot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247299766,"owners_count":20916183,"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":["chatbot","discord","discord-bot"],"created_at":"2024-11-05T13:03:44.137Z","updated_at":"2025-04-05T06:30:42.271Z","avatar_url":"https://github.com/tyrone-sudeium.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AetheBot for Discord\n\n## Setup\n\n### Using Node.js\n\nInstall [Yarn Classic](https://classic.yarnpkg.com) (1.x). Yarn is a hard\n*requirement* for AetheBot, `npm` will not work, and support for `npm` is not in\nscope for this project.\n\nCurrent required version of Node.js is specified in `.node-version`.\n\nCreate a Discord Bot account \n[here](https://discordapp.com/developers/applications/me).\n\nCopy the token it generated.\n\nCreate a `development.env` file in the root of this repo.\n\nInside this file, paste the token like this:\n\n```\nDISCORD_TOKEN=[token]\nDEFAULT_ADMIN_USER=[your discord user ID]\n```\n\nTo run, recommend using Visual Studio Code, since it'll use the `development.env` file.\nSee section below.\n\n### Using Bun\n\nInstall [Bun](https://bun.sh) 1.1.6 or newer.\n\nCreate a Discord Bot account \n[here](https://discordapp.com/developers/applications/me).\n\nCopy the token it generated.\n\nCreate a `.env.local` file in the root of this repo.\n\nInside this file, paste the token like this:\n\n```\nDISCORD_TOKEN=[token]\nDEFAULT_ADMIN_USER=[your discord user ID]\n```\n\nRun with Bun:\n\n```\nbun run src/index.ts --brainPath ./brain.json\n```\n\nNot working (as of 1.1.6):\n\n- Workers, at least when using `bun build`. Probably works if I package the\ncode into the docker image, just like Node, but at that point why not just\nuse Node?\n\n### Initial Setup\n\nMake sure you have `DEFAULT_ADMIN_USER` set to your Discord user ID, you can find it\nby enabling Developer Mode in Discord, then right clicking yourself in the user list,\nand clicking Copy User ID.\n\nStart the bot using the instructions above. When you do, it will print out a URL into\nstandard output that you can use to join the bot to a server. You must have permission\non the server to do this. Finally, once you've joined the bot to a server, send it a \ndirect message containing exactly: `admin deploy commands` to deploy the slash\ncommands. You will need to re-run this any time you change the slash commands.\n\n### Can You Join My Server?\n\nAetheBot is not a hosted service. However, it is open source, and you are free to\nuse it in any way as specified in the license, including hosting your own copy of\nthe bot. I recommend forking the repo, and editing `src/index.ts` to change the\nfeatures that get loaded into the bot to better suit your specific needs.\n\n## Debugging in Visual Studio Code\n\nCurrently only works with Node.js.\n\n### With Node Installed\n\nIf you've got Node installed on your system, either via `nvm`, `nodenv`, or\ncompiling it manually, you should just be able to run the debugger by pressing\nF5 in Visual Studio Code. Make sure you've run `yarn install` first! Also, make\nsure the configuration in the debugger tab (drop down, top left) is set to \n\"Launch Using System Node\".\n\n### Running Node Inside Docker\n\nChange to the debugger tab and change the configuration (drop down, top left)\nfrom \"Launch Using System Node\" to \"Launch in Docker (Debug Bot)\". The first time \nyou run this you will need to pull down all the `node_modules` compiled against \nthe Linux that runs in Docker:\n\n```\nrm -rf node_modules\ndocker-compose -f docker-compose.yml -f docker-compose.dev.yml run bot yarn install\n```\n\nNow you can go back into Visual Studio Code and press F5 to start. Note that\nwhen running in Docker, it runs the Bot process and the Website process as\ncompletely separate node processes, which communicate with each other via a \nRedis PubSub channel. By default, Visual Studio Code will attach its debugger \nto the Bot process, you can change this by using the \"Launch in Docker (Web)\" \nconfiguration instead.\n\nThe node processes running in Docker will automatically restart when the code\nis recompiled. You can automate this to happen whenever you modify a TypeScript\nfile by running `yarn tsc -w` on your host.\n\nThe website will run under http://localhost:8080\n\n## Environment Variables\n\n\n| Variable             | Required? | Purpose | Example |\n| -------------------- | --------- | ------- | ------- |\n| `DISCORD_TOKEN`      | Yes       | The generated Discord Bot account token for authentication with Discord. | `aaabbbccc111222333`|\n| `WEBSITE_BASE_URL`   | No        | The base URL for the bot's internal website. Leave undefined to not run the website.| `https://my-great-aethebot-instance.herokuapp.com`\n| `DEFAULT_ADMIN_USER` | No        | Discord User ID for the default admin user. | `12345678901234567` |\n| `REDIS_URL`          | No        | URL to your Redis instance, to use as the bot's persistent storage. | `redis://user:password@my-redis.host:13337`|\n\n## Creating a Voice Noise\n\nThe voice noises themselves are in an object in \n`src/features/voicenoise/noises.ts`. Provide the file name for the noise to\nplay, and a regular expression to match on. It will play the noise in the\nchannel you are currently in if the regex matches and you've mentioned the bot.\nPlease keep try to keep the volume of your noise consistent with the other\nnoises.\n\nNoises can be provided in `.opus` format, 64kbps mono. Please listen to some of\nthe existing voice noises and adjust the volume accordingly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyrone-sudeium%2Faethebot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftyrone-sudeium%2Faethebot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftyrone-sudeium%2Faethebot/lists"}