├── version.js ├── .gitattributes ├── app └── preload.js ├── config └── config.json ├── .eslintignore ├── .gitignore ├── assets ├── images │ ├── TextLogo.png │ ├── logo │ │ ├── 16x16.png │ │ ├── 32x32.png │ │ ├── icon.ico │ │ ├── apple-touch-icon.png │ │ ├── android-chrome-192x192.png │ │ └── android-chrome-512x512.png │ ├── betterdiscordpanel.png │ ├── contribution │ │ ├── fork.png │ │ ├── upload.png │ │ ├── translate.png │ │ ├── create_pull.png │ │ └── openlocales.png │ ├── previews │ │ ├── preview.png │ │ └── dropShadow.png │ └── discord_defaults_avatars │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ └── 4.png ├── fonts │ ├── remixicon8025.eot │ ├── remixicon8025.html │ ├── remixicon8025.ttf │ ├── remixicon8025.woff │ ├── materialdesignicons-webfont7e1c.eot │ ├── materialdesignicons-webfont7e1c.ttf │ ├── materialdesignicons-webfontd41d.eot │ ├── materialdesignicons-webfont7e1c.html │ └── materialdesignicons-webfont7e1c.woff ├── js │ ├── main │ │ ├── translation.js │ │ ├── format.js │ │ ├── addText.js │ │ ├── escapeHTML.js │ │ ├── formatTimestamp.js │ │ ├── tempChange.js │ │ ├── embedLinks.js │ │ ├── isLoggedIn.js │ │ ├── replaceMarkdown.js │ │ ├── deleteMessage.js │ │ ├── translator.js │ │ ├── login.js │ │ ├── contentReplacement.js │ │ └── settings.js │ ├── panel │ │ ├── copyright.js │ │ ├── documentEvents.js │ │ ├── languages.js │ │ ├── keypasteEvents.js │ │ ├── constants.js │ │ ├── buttonEvents.js │ │ ├── discordEvents.js │ │ └── functions.js │ ├── checks.js │ ├── pages │ │ └── index.init.js │ ├── login │ │ └── loginscreen.js │ ├── log.js │ ├── app.js │ ├── update.js │ ├── content.js │ └── locales.js └── libs │ ├── owl.carousel │ └── assets │ │ ├── owl.video.play.png │ │ ├── owl.theme.default.min.css │ │ └── owl.carousel.min.css │ ├── noty │ ├── nest.css │ └── noty.css │ ├── normalize │ └── normalize.min.css │ ├── node-waves │ └── waves.min.js │ ├── magnific-popup │ └── magnific-popup.css │ └── jquery │ └── jquery.transit.js ├── docs └── prerequisites │ ├── images │ ├── step-1.png │ ├── step-2.png │ └── step-3.png │ └── prerequisites.md ├── .github ├── dependabot.yml ├── CONTRIBUTION.md ├── ISSUE_TEMPLATE │ ├── suggestions.md │ └── bug_report.md └── TRANSLATION.md ├── .editorconfig ├── BetterDiscordPanel.cmd ├── SECURITY.md ├── .eslintrc.json ├── scripts ├── boot │ ├── boot.js │ ├── Start.ps1 │ └── Checks.ps1 ├── Selection.ps1 └── settings │ ├── Languages │ ├── Languages3.ps1 │ ├── Languages1.ps1 │ └── Languages2.ps1 │ ├── Settings.ps1 │ ├── Support.ps1 │ ├── Update.ps1 │ └── Language.ps1 ├── locales ├── template │ └── template.json ├── id │ └── panel.json ├── en │ └── panel.json ├── no │ └── panel.json ├── de │ └── panel.json ├── hu │ └── panel.json ├── tr │ └── panel.json ├── nl │ └── panel.json ├── fr │ └── panel.json ├── ru │ └── panel.json ├── es │ └── panel.json └── ro │ └── panel.json ├── package.json ├── index.js ├── login.html ├── CODE_OF_CONDUCT.md └── README.md /version.js: -------------------------------------------------------------------------------- 1 | version = '3.0.2'; 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /app/preload.js: -------------------------------------------------------------------------------- 1 | // Add code here that requires Node 2 | -------------------------------------------------------------------------------- /config/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "language": "en" 3 | } 4 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | assets/libs* 2 | assets/js/discord.12.1.1.min.js* -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Remove Debug logs 2 | scripts/boot/debug.log 3 | # Node Modules 4 | node_modules 5 | -------------------------------------------------------------------------------- /assets/images/TextLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/TextLogo.png -------------------------------------------------------------------------------- /assets/images/logo/16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/logo/16x16.png -------------------------------------------------------------------------------- /assets/images/logo/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/logo/32x32.png -------------------------------------------------------------------------------- /assets/images/logo/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/logo/icon.ico -------------------------------------------------------------------------------- /assets/fonts/remixicon8025.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/remixicon8025.eot -------------------------------------------------------------------------------- /assets/fonts/remixicon8025.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/remixicon8025.html -------------------------------------------------------------------------------- /assets/fonts/remixicon8025.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/remixicon8025.ttf -------------------------------------------------------------------------------- /assets/fonts/remixicon8025.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/remixicon8025.woff -------------------------------------------------------------------------------- /assets/images/betterdiscordpanel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/betterdiscordpanel.png -------------------------------------------------------------------------------- /assets/images/contribution/fork.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/contribution/fork.png -------------------------------------------------------------------------------- /assets/images/previews/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/previews/preview.png -------------------------------------------------------------------------------- /docs/prerequisites/images/step-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/docs/prerequisites/images/step-1.png -------------------------------------------------------------------------------- /docs/prerequisites/images/step-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/docs/prerequisites/images/step-2.png -------------------------------------------------------------------------------- /docs/prerequisites/images/step-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/docs/prerequisites/images/step-3.png -------------------------------------------------------------------------------- /assets/images/contribution/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/contribution/upload.png -------------------------------------------------------------------------------- /assets/images/previews/dropShadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/previews/dropShadow.png -------------------------------------------------------------------------------- /assets/images/contribution/translate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/contribution/translate.png -------------------------------------------------------------------------------- /assets/images/logo/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/logo/apple-touch-icon.png -------------------------------------------------------------------------------- /assets/images/contribution/create_pull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/contribution/create_pull.png -------------------------------------------------------------------------------- /assets/images/contribution/openlocales.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/contribution/openlocales.png -------------------------------------------------------------------------------- /assets/images/discord_defaults_avatars/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/discord_defaults_avatars/0.png -------------------------------------------------------------------------------- /assets/images/discord_defaults_avatars/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/discord_defaults_avatars/1.png -------------------------------------------------------------------------------- /assets/images/discord_defaults_avatars/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/discord_defaults_avatars/2.png -------------------------------------------------------------------------------- /assets/images/discord_defaults_avatars/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/discord_defaults_avatars/3.png -------------------------------------------------------------------------------- /assets/images/discord_defaults_avatars/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/discord_defaults_avatars/4.png -------------------------------------------------------------------------------- /assets/images/logo/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/logo/android-chrome-192x192.png -------------------------------------------------------------------------------- /assets/images/logo/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/images/logo/android-chrome-512x512.png -------------------------------------------------------------------------------- /assets/fonts/materialdesignicons-webfont7e1c.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/materialdesignicons-webfont7e1c.eot -------------------------------------------------------------------------------- /assets/fonts/materialdesignicons-webfont7e1c.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/materialdesignicons-webfont7e1c.ttf -------------------------------------------------------------------------------- /assets/fonts/materialdesignicons-webfontd41d.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/materialdesignicons-webfontd41d.eot -------------------------------------------------------------------------------- /assets/js/main/translation.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file translation.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | // BetterDiscordPanel 8 | 9 | -------------------------------------------------------------------------------- /assets/fonts/materialdesignicons-webfont7e1c.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/materialdesignicons-webfont7e1c.html -------------------------------------------------------------------------------- /assets/fonts/materialdesignicons-webfont7e1c.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/fonts/materialdesignicons-webfont7e1c.woff -------------------------------------------------------------------------------- /assets/libs/owl.carousel/assets/owl.video.play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanjaySunil/BetterDiscordPanel/HEAD/assets/libs/owl.carousel/assets/owl.video.play.png -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: npm 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | open-pull-requests-limit: 10 8 | target-branch: master 9 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | charset = utf-8 6 | trim_trailing_whitespace = true 7 | insert_final_newline = true 8 | indent_style = space 9 | indent_size = 2 10 | -------------------------------------------------------------------------------- /assets/js/main/format.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file format.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | function format(command, value) { 8 | document.execCommand(command, false, value); 9 | } 10 | -------------------------------------------------------------------------------- /BetterDiscordPanel.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | IF NOT DEFINED IS_CHILD_PROCESS (CMD /K SET IS_CHILD_PROCESS=1 ^& %0 %*) & EXIT 3 | TITLE BetterDiscordPanel 4 | CLS 5 | ECHO. 6 | 7 | cd scripts 8 | powershell -ExecutionPolicy Bypass .\Selection.ps1 9 | -------------------------------------------------------------------------------- /assets/js/main/addText.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file addText.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | function addText(value) { 8 | const toSend = $('#toSend'); 9 | toSend.html(`${toSend.html() + escapeHtml(value)} `); 10 | } 11 | -------------------------------------------------------------------------------- /assets/js/panel/copyright.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file copyright.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | $('.000').replaceWith('Copyright © 2022'); 8 | $('.001').replaceWith('Sanjay Sunil'); 9 | $('.002').replaceWith('All rights reserved.'); 10 | -------------------------------------------------------------------------------- /assets/js/panel/documentEvents.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file documentEvents.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | $(document).on('change', '.guilds', () => { 8 | updateGuild(); 9 | }); 10 | 11 | $(document).on('change', '.channels', () => { 12 | updateChannel(); 13 | }); 14 | -------------------------------------------------------------------------------- /assets/js/main/escapeHTML.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file escapeHTML.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | function escapeHtml(text) { 8 | return text 9 | .replace(/&/g, '&') 10 | .replace(//g, '>') 12 | .replace(/"/g, '"') 13 | .replace(/'/g, '''); 14 | } 15 | -------------------------------------------------------------------------------- /assets/js/main/formatTimestamp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file formatTimestamp.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | function formatTimestamp(timestamp) { 8 | const date = new Date(timestamp); 9 | return `${date.toLocaleDateString( 10 | translation.langCode, 11 | )} ${date.toLocaleTimeString(translation.langCode)}`; 12 | } 13 | -------------------------------------------------------------------------------- /assets/js/main/tempChange.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file tempChange.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | function tempChange(DOM, text, time) { 8 | const newText = `${$(DOM).text().replace(text, '')} ${text}`; 9 | 10 | $(DOM).html(newText); 11 | 12 | setTimeout(() => { 13 | $(DOM).html(newText.replace(text, '')); 14 | }, time); 15 | } 16 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | | Version | Supported | 6 | | ------- | ------------------ | 7 | | 2.7.x | :white_check_mark: | 8 | | < 2.0 | :x: | 9 | 10 | ## Reporting a Vulnerability 11 | 12 | Please email sanjaysunil@protonmail.com to report a vulnerability. 13 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "commonjs": true, 5 | "es2021": true, 6 | "node": true 7 | }, 8 | "extends": [ 9 | "google" 10 | ], 11 | "parserOptions": { 12 | "ecmaVersion": 12 13 | }, 14 | "rules": { 15 | "require-jsdoc": 0, 16 | "max-len": 0, 17 | "no-invalid-this": 0, 18 | "no-unused-vars": 0, 19 | "prefer-const": 0 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /.github/CONTRIBUTION.md: -------------------------------------------------------------------------------- 1 | # How to contribute to BetterDiscordPanel 2 | 3 | ## 1. Fork the Repository 4 | 5 |  6 | 7 | ## 2. Make your changes 8 | 9 |  10 | 11 | ## 3. Make a pull request 12 | 13 |  14 | 15 | *** 16 | 17 | #### If you encounter any problems, please create a new issue. 18 | -------------------------------------------------------------------------------- /scripts/boot/boot.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file boot.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | const {exec} = require('child_process'); 8 | 9 | exec('cd ../../ && npm start', (error, stdout, stderr) => { 10 | if (error) { 11 | console.log(`[ERROR]: ${error.message}`); 12 | return; 13 | } 14 | if (stderr) { 15 | console.log(`[STDERR]: ${stderr}`); 16 | return; 17 | } 18 | console.log(`${stdout}`); 19 | }); 20 | -------------------------------------------------------------------------------- /assets/js/panel/languages.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file languages.js 3 | * @author Sanjay Sunil 4 | * @license GPL-3.0 5 | */ 6 | 7 | Object.values(locales).forEach((locale) => { 8 | switchLang.html( 9 | switchLang.html() + 10 | ` 11 |