{"id":18697401,"url":"https://github.com/cassiofb-dev/sakura-luna","last_synced_at":"2026-04-14T06:04:46.400Z","repository":{"id":104454954,"uuid":"469989747","full_name":"cassiofb-dev/sakura-luna","owner":"cassiofb-dev","description":"Sakura Luna Discord Bot","archived":false,"fork":false,"pushed_at":"2022-03-20T20:56:36.000Z","size":69,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-18T09:08:45.473Z","etag":null,"topics":["discord","discord-bot","discordjs-bot","mongodb","mongoose"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cassiofb-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-03-15T03:21:04.000Z","updated_at":"2022-03-15T07:17:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"6a0c68e4-fac4-4090-aac6-9f39bdc6f459","html_url":"https://github.com/cassiofb-dev/sakura-luna","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"cassiofb-dev/discord-bot-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cassiofb-dev%2Fsakura-luna","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cassiofb-dev%2Fsakura-luna/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cassiofb-dev%2Fsakura-luna/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cassiofb-dev%2Fsakura-luna/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cassiofb-dev","download_url":"https://codeload.github.com/cassiofb-dev/sakura-luna/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239558929,"owners_count":19658929,"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":["discord","discord-bot","discordjs-bot","mongodb","mongoose"],"created_at":"2024-11-07T11:24:11.673Z","updated_at":"2025-11-08T16:30:37.484Z","avatar_url":"https://github.com/cassiofb-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n  Sakura Luna\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003eSakura Luna Discord Bot\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#about\"\u003eAbout\u003c/a\u003e •\n  \u003ca href=\"#features\"\u003eFeatures\u003c/a\u003e •\n  \u003ca href=\"#using\"\u003eUsing\u003c/a\u003e •\n  \u003ca href=\"#structure\"\u003eStructure\u003c/a\u003e •\n  \u003ca href=\"#credits\"\u003eCredits\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n## About\n\nSakura Luna is discord bot for promiving interactions between people and promoving art.\n\n## Features\n\n* Command Handler\n  * All commands in ``src/commands`` folder are handled by default\n  * All commands will also be published to discord API on start\n  * Bult-in Commands:\n    * ``ping``\n    * ``custom-reply``\n    * ``balance``\n    * ``transfer``\n    * ``pat``\n    * ``hug``\n    * ``kiss``\n    * ``gif``\n    * ``define``\n    * ``art``\n    * ``user-art``\n    * ``guild-config``\n    * ``usercard``\n    * ``leaderboard``\n    * ``giveaway``\n    * ``sync``\n* Events Handler\n  * All events in ``src/events`` folder are handled by default\n  * Bult-in Events:\n    * ``interactionCreate``\n    * ``messageCreate``\n* Database\n  * Bult-in database implementation\n  * MONGODB is used because of excellent free tier\n  * mongoose is used to model the data schema\n* Level UP System\n  * Experience will be granted to users that send messages on a server, with time they will level up\n  * Bult-in implementation uses log2 function so the amount of messages needed will always double\n* Custom Reply System\n  * Users with Custom Reply Manager role will be granted permissions to manage bot custom replies\n* Currency System\n  * On first saved in database users will be granted 10 currencies\n  * Users can transfer currency to another user\n* Third party apis\n  * Urban dictionary for definitions\n  * Tenor for searching gifs\n* Cross server Arts\n* Guild Custom Config\n\n## Using\n\nTo run this project you will need:\n\n* [Git](https://git-scm.com/)\n* [Node.js](https://nodejs.org/en/)\n\nFrom your terminal run the commands:\n\n```bash\ngit clone https://github.com/cassiofb-dev/sakura-luna\n\ncd sakura-luna\n\nnpm i\n```\n\nNow make a ``.env`` file in the root folder with the variables needed in the ``config.js`` file.\n\nAfter that run the command:\n\n```bash\nnpm start\n```\n\n## Structure\n\n* src - project source code folder\n  * commands - all commands goes here\n  * core - core things to run commands and events the heart of the project\n    * apis - third party apis for searching medias like images, gifs and text or more\n    * classes - classes declarations\n    * database - all database implementation goes here\n      * custom-reply - custom reply data modeling and services\n      * guild-user - guild user data modeling and services\n    * features - bot features\n    * handlers - core handlers (commands, events and authorization)\n  * events - all events goes here\n  * config.js - bot configuration defined in .env file\n  * main.js - main file, starts bot\n* .env - env files (secrets)\n* .gitignore - git doesn't track\n* package.json - project package configuration, script and dependencies\n\n```txt\n📦src\n ┣ 📂commands\n ┃ ┣ 📜art.js\n ┃ ┣ 📜balance.js\n ┃ ┣ 📜custom-reply.js\n ┃ ┣ 📜define.js\n ┃ ┣ 📜gif.js\n ┃ ┣ 📜giveaway.js\n ┃ ┣ 📜guild-config.js\n ┃ ┣ 📜hug.js\n ┃ ┣ 📜kiss.js\n ┃ ┣ 📜leaderboard.js\n ┃ ┣ 📜pat.js\n ┃ ┣ 📜ping.js\n ┃ ┣ 📜sync.js\n ┃ ┣ 📜transfer.js\n ┃ ┣ 📜user-art.js\n ┃ ┗ 📜usercard.js\n ┣ 📂core\n ┃ ┣ 📂apis\n ┃ ┃ ┣ 📜tenor.js\n ┃ ┃ ┗ 📜urban-dictionary.js\n ┃ ┣ 📂classes\n ┃ ┃ ┣ 📜command.js\n ┃ ┃ ┣ 📜discord-bot.js\n ┃ ┃ ┣ 📜embed-message.js\n ┃ ┃ ┗ 📜event.js\n ┃ ┣ 📂database\n ┃ ┃ ┣ 📂custom-reply\n ┃ ┃ ┃ ┣ 📜custom-repliy.js\n ┃ ┃ ┃ ┣ 📜custom-reply.model.js\n ┃ ┃ ┃ ┗ 📜custom-reply.service.js\n ┃ ┃ ┣ 📂guild-config\n ┃ ┃ ┃ ┣ 📜guild-config.js\n ┃ ┃ ┃ ┣ 📜guild-config.model.js\n ┃ ┃ ┃ ┗ 📜guild-config.service.js\n ┃ ┃ ┣ 📂guild-user\n ┃ ┃ ┃ ┣ 📜guild-user.js\n ┃ ┃ ┃ ┣ 📜guild-user.model.js\n ┃ ┃ ┃ ┗ 📜guild-user.service.js\n ┃ ┃ ┣ 📂user-art\n ┃ ┃ ┃ ┣ 📜user-art.js\n ┃ ┃ ┃ ┣ 📜user-art.model.js\n ┃ ┃ ┃ ┗ 📜user-art.service.js\n ┃ ┃ ┗ 📜database.js\n ┃ ┣ 📂features\n ┃ ┃ ┣ 📜currency-system.js\n ┃ ┃ ┣ 📜custom-reply-system.js\n ┃ ┃ ┣ 📜guild-config-system.js\n ┃ ┃ ┣ 📜level-up-system.js\n ┃ ┃ ┣ 📜media-system.js\n ┃ ┃ ┣ 📜user-art-system.js\n ┃ ┃ ┗ 📜user-system.js\n ┃ ┗ 📂handlers\n ┃ ┃ ┣ 📜authorization.handler.js\n ┃ ┃ ┣ 📜command.handler.js\n ┃ ┃ ┗ 📜event.handler.js\n ┣ 📂events\n ┃ ┣ 📜guild-member-add.dev\n ┃ ┣ 📜interaction-create.js\n ┃ ┗ 📜message-create.js\n ┣ 📜config.js\n ┗ 📜main.js\n```\n\n## Credits\n\nThis project uses the following open source projects:\n\n* [Node.js](https://github.com/nodejs/node)\n* [Discord.js](https://github.com/discordjs/discord.js)\n* [dotenv](https://github.com/motdotla/dotenv)\n* [mongoose](https://github.com/Automattic/mongoose)\n\n## License\n\nMIT\n\n---\n\n\u003e [My website](https://cassiofernando.netlify.app/) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e GitHub [@cassiofb-dev](https://github.com/cassiofb-dev) \u0026nbsp;\u0026middot;\u0026nbsp;\n\u003e Twitter [@cassiofb_dev](https://twitter.com/cassiofb_dev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcassiofb-dev%2Fsakura-luna","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcassiofb-dev%2Fsakura-luna","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcassiofb-dev%2Fsakura-luna/lists"}