{"id":25826464,"url":"https://github.com/crock/discord-bot-utils","last_synced_at":"2026-04-13T01:04:56.475Z","repository":{"id":117197782,"uuid":"216081659","full_name":"crock/discord-bot-utils","owner":"crock","description":"Core utilty classes for Discord.js bots","archived":false,"fork":false,"pushed_at":"2019-12-07T00:10:04.000Z","size":20,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-28T19:48:23.079Z","etag":null,"topics":["discord","discord-bot","discord-js","firebase","web-server"],"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/crock.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":"2019-10-18T18:08:40.000Z","updated_at":"2022-04-02T10:58:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"4ed217f5-d512-4584-a72f-3ed027c2a662","html_url":"https://github.com/crock/discord-bot-utils","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/crock/discord-bot-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crock%2Fdiscord-bot-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crock%2Fdiscord-bot-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crock%2Fdiscord-bot-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crock%2Fdiscord-bot-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crock","download_url":"https://codeload.github.com/crock/discord-bot-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crock%2Fdiscord-bot-utils/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264506245,"owners_count":23619002,"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","discord-js","firebase","web-server"],"created_at":"2025-02-28T15:06:56.348Z","updated_at":"2026-04-13T01:04:56.371Z","avatar_url":"https://github.com/crock.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Discord.js Bot Utils\n\nThese are some core utility classes for Discord.js bots.\n\n## Usage\n\nCreate a `.env` file in the root directory of your bot with the following keys:\n```\n# Discord\nDISCORD_BOT_TOKEN=\n\n# Miscellaneous Configuration\nCMD_PREFIX=\nWEB_SERVER_PORT=\nAPI_ROUTE_PREFIX=\n\n# Firebase Configuration\nFIREBASE_API_KEY=\nFIREBASE_AUTH_DOMAIN=\nFIREBASE_DB_URL=\nFIREBASE_PROJECT_ID=\nFIREBASE_STORAGE_BUCKET=\nFIREBASE_MESSAGING_SENDER_ID=\n```\nDon't forget to call `require('dotenv').config()` in the start file of your bot!\n\n**Client module**\n\n```js\nconst { Client } = require('@crock/discord-bot-utils');\n\nClient.getClient();\nClient.login();\n```\n\n**Auth (permission) module**\n\n```js\nconst { Auth } = require('@crock/discord-bot-utils');\n\nAuth.isOwner(Object member);\nAuth.isAdmin(Object member);\nAuth.isMod(Object member);\nAuth.isRole(String 'foobar', Object member);\n```\n\n**Configuration module**\n\n```js\nconst { Config } = require('@crock/discord-bot-utils');\n\nConfig.initConfig();\nConfig.resetConfig();\nConfig.reload();\nConfig.saveConfig();\n\nConfig.getBotToken();\nConfig.getServerPort();\nConfig.getApiRoutePrefix();\nConfig.getRef();\nConfig.getConfig();\nConfig.getCommandPrefix();\nConfig.getChannel(String name);\nConfig.getRole(String roleType);\nConfig.getVerifyMessage();\n\nConfig.setCommandPrefix(String prefix);\nConfig.setChannel(String channel_type, String id);\nConfig.setRole(String role_type, String id);\nConfig.setVerifyMessage(String id);\n```\n\n**Database module**\n\n```js\nconst { DB } = require('@crock/discord-bot-utils');\n\nDB.getDatabase();\nDB.startListening(String path, String eventType = 'value');\nDB.stopListening(String path = null, String eventType = null);\n\n// Firebase database runtime logs are saved in firebase.log file.\n// Log files can be found at logs/\nDB.logData(data);\n// Firebase database errors are saved in firebase.error.log file\nDB.errorData(data);\n\nDB.writeData(String path, Object data);\nDB.updateData(String path, Object data);\nDB.appendData(String path, Object data);\nDB.deleteData(String path);\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrock%2Fdiscord-bot-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrock%2Fdiscord-bot-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrock%2Fdiscord-bot-utils/lists"}