├── .gitignore ├── package.json ├── LICENSE ├── public ├── 404 │ └── style.css ├── home │ └── style.css └── main │ ├── footer.css │ └── style.css ├── README.md ├── server.js └── views ├── 404 └── index.ejs ├── extras ├── navbar.ejs └── footer.ejs ├── home └── index.ejs ├── privacy └── index.ejs ├── tos └── index.ejs └── partners └── index.ejs /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "discordlabs", 3 | "version": "1.0.0", 4 | "description": "Main Discord Labs Website", 5 | "author": "Discord Labs ", 6 | "main": "server.js", 7 | "scripts": { 8 | "start": "node server.js" 9 | }, 10 | "dependencies": { 11 | "express": "^4.17.1", 12 | "ejs": "^3.0.1", 13 | "discord.js": "^11.5.1", 14 | "discord-akairo": "^7.5.6", 15 | "marked": "^0.8.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Discord Labs 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /public/home/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Rubik&display=swap'); 2 | @import url('https://fonts.googleapis.com/css?family=Maven+Pro&display=swap'); 3 | 4 | /* Footer Styling */ 5 | /* DOGE WAS HERE */ 6 | .footer-dark { 7 | padding: 50px 0; 8 | color: #f0f9ff; 9 | background-color: var(--void); 10 | } 11 | 12 | .footer-dark h3 { 13 | margin-top: 0; 14 | margin-bottom: 12px; 15 | font-weight: 700; 16 | font-size: 16px 17 | } 18 | 19 | .footer-dark ul { 20 | padding: 0; 21 | list-style: none; 22 | line-height: 1.6; 23 | font-size: 14px; 24 | margin-bottom: 0 25 | } 26 | 27 | .footer-dark ul a { 28 | color: inherit; 29 | text-decoration: none; 30 | opacity: .6 31 | } 32 | 33 | .footer-dark ul a:hover { 34 | opacity: .8 35 | } 36 | 37 | .footer-dark .item.text { 38 | margin-bottom: 36px 39 | } 40 | .email{ 41 | color:white; 42 | text-decorations:none; 43 | } 44 | .email:hover{ 45 | color:white; 46 | text-decorations:underline; 47 | } 48 | .email2{ 49 | color:black; 50 | text-decorations:none; 51 | } 52 | .email2:hover{ 53 | color:black; 54 | text-decorations:underline; 55 | } 56 | decorations:none; 57 | } 58 | .h4{ 59 | color:white!important; 60 | } 61 | .h4 b{ 62 | color:white!important; 63 | } 64 | 65 | .adsmall{ 66 | display: none; 67 | } 68 | 69 | @media only screen and (max-width: 1500px) { 70 | .bigbigad { 71 | display:none; 72 | } 73 | } 74 | 75 | @media only screen and (max-width: 750px) { 76 | .adbig { 77 | display:none; 78 | visibility:none; 79 | width: 0; height: 0; 80 | opacity: 0; 81 | } 82 | .adsmall { 83 | display: block; 84 | } 85 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Discord Labs V2 2 | Source code for the official Discord Labs website. [discordlabs.org](https://discordlabs.org)
3 | **This code does not power [bots.discordlabs.org](https://bots.discordlabs.org)**. 4 | 5 | ## Config 6 | You should set your `Discord Token` in the `server.js` file. 7 | 8 | ## Navigating the project tree 9 | `views` - Source code for the fontend.
10 | `public/` - Static files.
11 | `server.js` - These run on every HTTP request you make.
12 | 13 | ## Setup 14 | ```shell 15 | git clone https://github.com/labdiscord/website 16 | cd website 17 | npm install 18 | npm start 19 | ``` 20 | 21 | ## Contributing 22 | 23 | Contributions are always welcome!\ 24 | Take a look at any existing issues on this repository for starting places to help contribute towards, or simply create your own new contribution to the project. 25 | 26 | When you are ready, simply create a pull request for your contribution and we will review it whenever we can! 27 | 28 | ### Donating 29 | 30 | You can also help me and the project out by sponsoring me through a [donation on PayPal](http://paypal.me/labdiscord). 31 | 32 | 33 | ## Discussion, Support and Issues 34 | 35 | Need support with this project, have found an issue or want to chat with others about contributing to the project? 36 | > Please check the project's issues page first for support & bugs! 37 | 38 | Not found what you need here? 39 | 40 | * If you have an issue, please create a GitHub issue here to report it, include as much detail as you can. 41 | * _Alternatively,_ You can join our Discord server to discuss any issue or to get support for the project.: 42 | 43 | 44 | Discord 45 | 46 | -------------------------------------------------------------------------------- /public/404/style.css: -------------------------------------------------------------------------------- 1 | /* ITS DOGE */ 2 | 3 | /* sadkfhbasdfjkhsd */ 4 | * { 5 | -webkit-box-sizing: border-box; 6 | box-sizing: border-box; 7 | } 8 | 9 | body { 10 | padding: 0; 11 | margin: 0; 12 | } 13 | 14 | #notfound { 15 | position: relative; 16 | height: 100vh; 17 | background: #030005; 18 | } 19 | 20 | #notfound .notfound { 21 | position: absolute; 22 | left: 50%; 23 | top: 50%; 24 | -webkit-transform: translate(-50%, -50%); 25 | -ms-transform: translate(-50%, -50%); 26 | transform: translate(-50%, -50%); 27 | } 28 | 29 | .notfound { 30 | max-width: 767px; 31 | width: 100%; 32 | line-height: 1.4; 33 | text-align: center; 34 | } 35 | 36 | .notfound .notfound-404 { 37 | position: relative; 38 | height: 180px; 39 | margin-bottom: 20px; 40 | z-index: -1; 41 | } 42 | 43 | .notfound .notfound-404 h1 { 44 | font-family: 'Montserrat', sans-serif; 45 | position: absolute; 46 | left: 50%; 47 | top: 50%; 48 | -webkit-transform: translate(-50% , -50%); 49 | -ms-transform: translate(-50% , -50%); 50 | transform: translate(-50% , -50%); 51 | font-size: 224px; 52 | font-weight: 900; 53 | margin-top: 0px; 54 | margin-bottom: 0px; 55 | margin-left: -12px; 56 | color: #030005; 57 | text-transform: uppercase; 58 | text-shadow: -1px -1px 0px #8400ff, 1px 1px 0px #ff005a; 59 | letter-spacing: -20px; 60 | } 61 | 62 | 63 | .notfound .notfound-404 h2 { 64 | font-family: 'Montserrat', sans-serif; 65 | position: absolute; 66 | left: 0; 67 | right: 0; 68 | top: 110px; 69 | font-size: 42px; 70 | font-weight: 700; 71 | color: #fff; 72 | text-transform: uppercase; 73 | text-shadow: 0px 2px 0px #8400ff; 74 | letter-spacing: 13px; 75 | margin: 0; 76 | } 77 | 78 | .notfound a { 79 | font-family: 'Montserrat', sans-serif; 80 | display: inline-block; 81 | text-transform: uppercase; 82 | color: #ff005a; 83 | text-decoration: none; 84 | border: 2px solid; 85 | background: transparent; 86 | padding: 10px 40px; 87 | font-size: 14px; 88 | font-weight: 700; 89 | -webkit-transition: 0.2s all; 90 | transition: 0.2s all; 91 | } 92 | 93 | .notfound a:hover { 94 | color: #8400ff; 95 | } 96 | 97 | @media only screen and (max-width: 767px) { 98 | .notfound .notfound-404 h2 { 99 | font-size: 24px; 100 | } 101 | } 102 | 103 | @media only screen and (max-width: 480px) { 104 | .notfound .notfound-404 h1 { 105 | font-size: 182px; 106 | } 107 | } -------------------------------------------------------------------------------- /server.js: -------------------------------------------------------------------------------- 1 | const express = require("express"); 2 | const app = express(); 3 | app.set("view engine", "ejs"); 4 | app.use(express.static("public")); 5 | app.set("views", `${__dirname}/views/`); 6 | var Discord = require("discord.js"); 7 | var Akairo = require("discord-akairo"); 8 | var DiscordClient = new Akairo.AkairoClient() 9 | DiscordClient.on('ready', () => { 10 | DiscordClient.mainGuild = DiscordClient.guilds.first() 11 | }) 12 | DiscordClient.login( 13 | "Your Token" 14 | ); 15 | 16 | app.get("/", async (req, res) => { 17 | res.render("home/index", { ac: [], md: { render: require('marked') } }) 18 | }) 19 | app.get("/partners", async (req, res) => { 20 | res.render("partners/index") 21 | }) 22 | app.get("/tos", async (req, res) => { 23 | res.render("tos/index") 24 | }) 25 | app.get("/privacy", async (req, res) => { 26 | res.render("privacy/index") 27 | }) 28 | 29 | app.get("/plox", function (req, res) { 30 | res.redirect("//plox.host/?ref=discordlabs"); 31 | }); 32 | app.get("/ear", function (req, res) { 33 | res.redirect("//eartensifier.net/?utm_source=discordlabs"); 34 | }); 35 | app.get("/shu", function (req, res) { 36 | res.redirect("//shubot.tech/?utm_source=discordlabs"); 37 | }); 38 | /*app.get("/riverside", function (req, res) { 39 | res.redirect("//riverside.rocks/q?q=labs"); 40 | });*/ 41 | app.get("/talle", function (req, res) { 42 | res.redirect("//discord.gg/9y2ABC?utm_source=discordlabs"); 43 | }); 44 | app.get("/beautify", function (req, res) { 45 | res.redirect("/talle"); 46 | }); 47 | 48 | 49 | app.get("/bot/:id", function (req, res) { 50 | res.redirect("//bots.discordlabs.org/bot/" + req.params.id); 51 | }); 52 | 53 | app.get("/server", function (req, res) { 54 | res.redirect("//discord.gg/rmPNvNJ"); 55 | }); 56 | app.get("/discord", function (req, res) { 57 | res.redirect("/server"); 58 | }); 59 | app.get("/support", function (req, res) { 60 | res.redirect("/server"); 61 | }); 62 | 63 | app.get("/status", function (req, res) { 64 | res.redirect("//status.discordlabs.org"); 65 | }); 66 | app.get("/medium", function (req, res) { 67 | res.redirect("//https://medium.com/discord-labs"); 68 | }); 69 | app.get("/blog", function (req, res) { 70 | res.redirect("/medium"); 71 | }); 72 | 73 | app.get("/email", async (req, res) => { 74 | res.redirect("mailto:support@discordlabs.org") 75 | }) 76 | 77 | app.get("*", async (req, res) => { 78 | res.render("404/index") 79 | }) 80 | 81 | // listen for requests :) 82 | const listener = app.listen(3000, function () { 83 | console.log("Your app is listening on port " + listener.address().port); 84 | }); 85 | -------------------------------------------------------------------------------- /views/extras/navbar.ejs: -------------------------------------------------------------------------------- 1 | 46 | 47 | 84 | -------------------------------------------------------------------------------- /public/main/footer.css: -------------------------------------------------------------------------------- 1 | .email{ 2 | color:white; 3 | text-decorations:none; 4 | } 5 | .email:hover{ 6 | color:white; 7 | text-decorations:underline; 8 | } 9 | footer { 10 | font-family:Roboto,sans-serif; 11 | position:relative; 12 | font-weight:400; 13 | font-size:15px 14 | } 15 | .card-title{ 16 | color:white!important; 17 | text-align:center 18 | } 19 | ul { 20 | padding:0; 21 | margin:0 22 | } 23 | li { 24 | list-style:none 25 | } 26 | a:focus,a:hover { 27 | text-decoration:none; 28 | -webkit-transition:.3s ease; 29 | -o-transition:.3s ease; 30 | transition:.3s ease 31 | } 32 | a:focus { 33 | outline:0 34 | } 35 | img { 36 | max-width:100% 37 | } 38 | p { 39 | font-size:16px; 40 | line-height:30px; 41 | color:#898b96; 42 | font-weight:300 43 | } 44 | h4 { 45 | font-family:Rubik,sans-serif; 46 | margin:0; 47 | font-weight:400; 48 | padding:0; 49 | color:#1a1d22 50 | } 51 | a { 52 | color:#5867dd 53 | } 54 | .no-padding { 55 | padding:0!important 56 | } 57 | .go_top { 58 | line-height:40px; 59 | cursor:pointer; 60 | width:40px; 61 | background:#5867dd; 62 | color:#fff; 63 | position:fixed; 64 | -webkit-box-shadow:0 4px 4px rgba(0,0,0,.1); 65 | box-shadow:0 4px 4px rgba(0,0,0,.1); 66 | -webkit-border-radius:50%; 67 | border-radius:50%; 68 | right:-webkit-calc((100% - 1140px)/ 2); 69 | right:calc((100% - 1140px)/ 2); 70 | z-index:111; 71 | bottom:80px; 72 | text-align:center 73 | } 74 | .go_top span { 75 | display:inline-block 76 | } 77 | .footer-big { 78 | padding:60px 0 25px 0 79 | } 80 | .footer-big .footer-widget { 81 | margin-bottom:0px 82 | } 83 | .footer--light { 84 | background:#1a1d22; 85 | } 86 | .footer-big .footer-menu ul li a,.footer-big p,.footer-big ul li { 87 | color:#898b96 88 | } 89 | .footer-menu { 90 | padding-left:48px 91 | } 92 | .footer-menu ul li a { 93 | font-size:15px; 94 | line-height:32px; 95 | -webkit-transition:.3s; 96 | -o-transition:.3s; 97 | transition:.3s 98 | } 99 | .footer-menu ul li a:hover { 100 | color:white; 101 | } 102 | .footer-menu--1 { 103 | width:100% 104 | } 105 | .footer-widget-title { 106 | line-height:42px; 107 | margin-bottom:10px; 108 | font-size:18px; 109 | color:white; 110 | text-transform: uppercase; 111 | font-weight:500; 112 | } 113 | .mini-footer { 114 | background:#1a1d22; 115 | text-align:center; 116 | padding:16px 0; 117 | } 118 | 119 | .mini-footer p { 120 | margin:0; 121 | font-size:15px; 122 | color:#999 123 | } 124 | .mini-footer p a { 125 | color:#0080F0; 126 | display: inline-block; 127 | position: relative; 128 | } 129 | .mini-footer p a:after { 130 | background: none repeat scroll 0 0 transparent; 131 | bottom: 0; 132 | content: ""; 133 | display: block; 134 | height: 2px; 135 | left: 50%; 136 | position: absolute; 137 | background: #47494A; 138 | transition: width 0.3s ease 0s, left 0.3s ease 0s; 139 | width: 0; 140 | } 141 | .mini-footer p a:hover:after { 142 | width: 100%; 143 | left: 0; 144 | } 145 | .mini-footer p a:hover { 146 | text-decoration:none; 147 | } 148 | .widget-about img { 149 | display:block; 150 | margin-bottom:30px 151 | } 152 | .widget-about p { 153 | font-weight:400 154 | } 155 | .widget-about .contact-details { 156 | margin:30px 0 0 0 157 | } 158 | .widget-about .contact-details li { 159 | margin-bottom:10px 160 | } 161 | .widget-about .contact-details li:last-child { 162 | margin-bottom:0 163 | } 164 | .widget-about .contact-details li i { 165 | padding-left:30px; 166 | } 167 | .widget-about .contact-details li a { 168 | color:#898b96; 169 | } 170 | .widget-about .contact-details li a:hover { 171 | color:white; 172 | } 173 | 174 | @media (max-width:991px) { 175 | .footer-menu { 176 | padding-left:0 177 | } 178 | } -------------------------------------------------------------------------------- /views/extras/footer.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 121 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 138 | -------------------------------------------------------------------------------- /views/home/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Discord Labs 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | <%- include("../extras/navbar",{page:"home"}) %> 47 | 48 | 49 |
50 | <% 51 | ac.forEach((msg) => { %> 52 |
53 |
54 |
55 | ... 56 | <%=msg.author.tag%> 57 | <%= msg.createdAt.toDateString() %> 58 | 61 |
62 |
63 | <%- md.render(msg.cleanContent) %> 64 |
65 | <% if(msg.attachments.array()[0]) { %> 66 |
67 | 68 |
69 | <% } %> 70 |
71 | Discord Labs Announcement 72 |
73 |
74 |
75 | <% })%> 76 |
77 |
78 |
79 |

Discord Labs

80 |

Creating the next generation of Discord sites and tools.

81 |
82 |
83 |
84 | 85 |
86 | 87 | 88 |
89 | 90 |
91 |
92 |

What We Do

93 |
94 |

At Discord Labs, we strive to make your Discord experience as great as possible, and our Next Generation initiative is the way we do it. 95 | We have a wide range of products in services ranging from Growing your Discord Bot to 96 | advertising it to other users. 97 | 98 |

99 |
100 |

Contact Us

101 |
102 |
103 | support@discordlabs.org 104 |
105 |
106 |
107 | 108 | 109 |
110 |
111 |
112 | 113 |
114 |

Discord Bot Labs

115 |

A great way to find amazing Discord bots for your Discord server. Also a great way to grow your Discord bot.

116 |
117 | 120 |
121 |
122 | 123 |
124 |
125 | 126 |
127 |

Statcord

128 |

The #1 way track your Discord bots growth.

129 |
130 | 133 |
134 |
135 |
136 |
137 | 138 |
139 |

Discord Widgets

140 |

Coming Soon

141 |
142 | 145 |
146 |
147 |
148 | 149 | 150 |
151 | 152 | 153 | <%- include("../extras/footer") %> 154 | 155 | 156 | 157 | 158 | 166 | 167 | 168 | 169 | 170 | -------------------------------------------------------------------------------- /views/privacy/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Privacy Policy | Discord Labs 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | <%- include("../extras/navbar",{page:"more"}) %> 50 | 51 | 52 |
53 |
54 |
55 |
56 |

Privacy Policy

57 |

58 | The Official Discord Labs Privacy Policy

59 | View Terms Of Service 60 |

61 |
62 |
63 |
64 |
65 | 66 | 67 | 68 | 69 | 70 |
71 |
72 |
73 |
74 | Last updated 11th of September 2020
75 | Effective as of 12th of September 2020

76 |
77 |
78 |
79 |
80 |
81 | At Discord Labs, your privacy is one of our top priorities. 82 | This Privacy Policy contains types of information that is collected by Discord Labs and its services ( 83 | "Statcord" , "Discord Bot Labs") along with how we use it. 84 |
85 | If you have additional questions or require more information about our Privacy Policy, 86 | please email us at support@discordlabs.org 87 |

88 | 89 | Discord Labs and its services use Discord 90 | for authentication and in place of having our own accounts. Because of this we store your Discord ID in our secure databases. 91 | While logged in to the website, any account-linked action you perform, such as voting, will be stored with a reference to your 92 | Discord ID. 93 | Additionally, any data you submit, such as bots or votes, may be stored and displayed on our site. 94 |

95 | 96 |

GDPR

97 | Discord Labs and its services are GDPR compliant. 98 | If you wish to be informed what Personal Information we hold about you and if you want it to be removed from our systems, 99 | please contact us via email at support@discordlabs.org. 100 |

101 | 102 |

Anonymous / Third-Party Tracking

103 | Discord Labs and its services use Google Analytics to analyze use of the site. Google Analytics uses cookies and collects usage data. You may view their privacy policy here and opt-out with their tool here. 104 |

105 | 106 |

Advertising Partners

107 | Discord Labs uses Google Adsense to serve ads and generate revenue. Google Adsense may use technologies like cookies, JavaScript, or Web Beacons. You can view there privacy policy here. 108 |

109 | 110 |

Log Files

111 | Discord Labs and its services follows a standard procedure of using log files. 112 | These files log visitors when they visit websites. The information collected by log files includes internet protocol (IP) addresses, browser type, date and time stamp, and referring/exit pages. 113 |

114 | 115 |

Cookies

116 | Discord Labs and its services uses cookies to store information about users. 117 | These cookies store the session identifier for logged in users. This is used for authentication on the website and links you to your Discord data. 118 |

119 | 120 |

Consent

121 | By using Discord Labs and its services, you consent to our Privacy Policy and agree to its terms. 122 |
123 | 124 | 125 | <%- include("../extras/footer") %> 126 | 127 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /views/tos/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Terms of Service | Discord Labs 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | <%- include("../extras/navbar",{page:"tos"}) %> 51 | 52 |
53 |
54 |
55 |
56 |

Terms of Service

57 |

58 | The Official Discord Labs Terms of Service

59 | View Privacy Policy 60 |

61 |
62 |
63 |
64 |
65 | 66 | 67 | 68 | 69 |
70 |
71 |
72 |
73 | Last updated 11th of April 2020
74 | Effective as of 12th of April 2020

75 |
76 |
77 | 78 |
79 |
80 | 81 | These Terms of Service Terms govern your access to and use of Discord Labs and its services 82 | ("Statcord" , 83 | "Discord Bot Labs"). 84 | Please read these Terms carefully, and contact us if you have any questions. By accessing or using our Products, you agree to be bound by these Terms and our Privacy policy. 85 |

86 | 87 |

1. Using Our Services

88 | You may use our Products only if you are in compliance with these Terms and all applicable laws. If you do not agree with any of these terms, you are prohibited from using or 89 | accessing this site. The materials contained in this website are protected by applicable copyright and trademark law. 90 |
Any use or access by anyone under the age of 13 is prohibited. 91 |

92 | 93 |

2. Your Content

94 | In these Terms of Service, "Your Content" shall mean any audio, video, text, images, or other material you choose to submit to 95 | Discord Labs and its services. With respect to Your Content, by submitting it, you grant 96 | Discord Labs a non-exclusive, worldwide, irrevocable, royalty-free, sublicensable license to use, reproduce, 97 | adapt, publish, translate and distribute it in any and all media. In the event you would like your content removed form the website, 98 | you may contact us via email at support@discordlabs.org 99 |

100 | Your Content must be your own and must not be infringing on any third party’s rights. Discord Labs reserves the right to remove any of Your Content from this website at any time, 101 | and for any reason, without notice. 102 |

103 | 104 |

3. Termination

105 | We may terminate your access to the website, without cause or notice, which may result in the destruction of all information associated with your account. 106 | All provisions of this agreement that, by their nature, should survive termination, including, without limitation, ownership provisions, 107 | warranty disclaimers, indemnity, and limitations of liability. 108 |

109 | 110 |

4. No Warranties

111 | Discord Labs and its services are provided "as is" with no warranty or liability for any outcomes of using the 112 | website and/or any content you may or may not interact with on the website, and you agree that Discord Labs is not liable for any events in the past, in current times, 113 | or in the future. Discord Labs is not responsible and will not take responsibility for the behavior of other parties using the website. 114 |

115 | 116 |

7. Limitation of Liability

117 | In no event shall Discord Labs, its services nor any of its representatives, be liable to you for anything 118 | arising out of or in any way connected with your use of this website, whether such liability is under contract, tort or otherwise. 119 | 120 |

121 | 122 |

8. Accuracy of Materials

123 | The materials appearing on Discord Labs or its services could include technical, typographical, or photographic errors. 124 | Discord Labs does not warrant that any of the materials on its website are accurate, complete, or current. 125 | Discord Labs and its users may make changes to the materials contained on the website at any time without notice. 126 | However, Discord Labs does not make any commitment to update the materials. 127 |

128 | 129 |

9. Links

130 | This website contains links to many other websites not controlled by Discord Labs. 131 | Discord Labs is not responsible for the contents or behavior of such linked websites. 132 | The inclusion of links on this website does not imply endorsement by Discord Labs. Any use of linked websites is done at the user's own risk. 133 |

134 | 135 |

10. Modifications

136 | Discord Labs may revise these Terms of Service at any time without notice. By using this website you are agreeing to be bound by the then current version of these terms of service. 137 | 138 | 139 |

140 | 141 | 142 | 143 |
144 | 145 | 146 | <%- include("../extras/footer") %> 147 | 148 | 149 | 150 | -------------------------------------------------------------------------------- /views/partners/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Discord Labs 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | <%- include("../extras/navbar",{page:"partners"}) %> 46 | 47 | 48 |
49 |
50 |
51 |
52 |

Discord Lab Partners

53 |

Discord Labs couldn't be possible without our amazing partnerships.

54 |
55 |
56 |
57 |
58 | 59 | 60 | 61 |
62 |
63 |
64 |
65 | 66 |
67 |

Plox Host

68 |

Plox is the leading cheapest minecraft hosting provider. With a support team that is always willing to help, owned hardware, and much more Plox is the way to go!

69 |
70 | 73 |
74 |
75 |
76 |
77 | 78 |
79 |

Talles Designs

80 |

Premium designs.

81 |
82 | 85 |
86 |
87 |
88 |
89 | 90 |
91 |

Get Your Service Here!

92 |

Become a Discord labs partner today by joining our Discord server & opening a ticket.

93 |
94 | 97 |
98 |
99 |
100 | 101 |
102 |
103 |
104 | 105 |
106 |

Ear Testifier

107 |

The only discord music bot you will ever need. Play any song from Youtube, Soundcloud, Spotify, Twitch, and more.

108 |
109 | 112 |
113 |
114 | 115 |
116 |
117 | 118 |
119 |

Shu Bot

120 |

hey kid

Own a community discord and wanna count? Use Shu, the best counting solution out there! (PS: We use it too).

121 |
122 | 125 |
126 |
127 | 139 | 140 | 152 |
153 | 154 | 155 | 156 | 157 | 158 | 159 |
160 |
161 |
162 | 163 |
164 |

Erisly

165 |

Hiya! My name is Erisly, your friendly neighbourhood goddess! I use my powers and talents to play as a "Discord Bot", where I provide you some quality features and commands for your Discord Server!

166 |
167 | 170 |
171 |
172 |
173 | 174 |
175 | 176 | 177 | 178 | 179 | 180 | <%- include("../extras/footer") %> 181 | 182 | 183 | 184 | -------------------------------------------------------------------------------- /public/main/style.css: -------------------------------------------------------------------------------- 1 | /* DOGE WAS HERE */ 2 | :root { 3 | --void: #0E0B16; 4 | --fuschia: #A239CA; 5 | --eggshell: #E7DFDD; 6 | --neon-green: #ffffff; 7 | } 8 | 9 | html { 10 | scroll-behavior: smooth; 11 | } 12 | .card-title{ 13 | color:white!important; 14 | text-align:center; 15 | } 16 | * { 17 | margin: 0; 18 | padding: 0; 19 | } 20 | 21 | body { 22 | background-color: #e8ebed; 23 | } 24 | 25 | .navbar { 26 | background-color: var(--void); 27 | } 28 | 29 | .navbar .navbar-nav .nav-item .nav-link { 30 | color: var(--eggshell); 31 | font-weight: bold; 32 | transition: 0.3s; 33 | padding: 10px 10px; 34 | } 35 | 36 | 37 | 38 | .navbar .navbar-nav .nav-item .nav-link:hover { 39 | color: var(--fuschia); 40 | 41 | } 42 | 43 | .navbar .navbar-nav .nav-item .nav-link:hover #icon, 44 | .navbar .navbar-nav .nav-item .nav-link:focus #icon, 45 | .navbar .navbar-nav .nav-item .nav-link:active #icon { 46 | -webkit-transform: translateX(-4px); 47 | transform: translateX(-4px); 48 | } 49 | 50 | .logo { 51 | height: 42px; 52 | width: 150px; 53 | } 54 | 55 | .user-avatar { 56 | border-radius: 50%; 57 | width: 35px; 58 | height: 35px; 59 | } 60 | 61 | .username { 62 | font-weight: bold; 63 | } 64 | 65 | #goPro { 66 | border: 2px solid var(--fuschia); 67 | color: var(--fuschia); 68 | padding: 6px 20px; 69 | border-radius: 4px; 70 | margin-left: 10px; 71 | transition: 0.3s; 72 | } 73 | 74 | #goPro:hover, 75 | #goPro:focus { 76 | box-shadow: 0 0.5em 0.5em -0.4em var(--fuschia); 77 | transform: translateY(-0.25em); 78 | } 79 | 80 | .bar1 { 81 | width: 35px; 82 | height: 5px; 83 | background-color: var(--eggshell); 84 | margin: 6px 0; 85 | transition: 0.4s; 86 | } 87 | 88 | .bar2 { 89 | width: 25px; 90 | height: 5px; 91 | background-color: var(--eggshell); 92 | margin: 6px 0; 93 | transition: 0.4s; 94 | } 95 | 96 | .bar3 { 97 | width: 15px; 98 | height: 5px; 99 | background-color: var(--eggshell); 100 | margin: 6px 0; 101 | transition: 0.4s; 102 | } 103 | 104 | .toggle .bar1 { 105 | -webkit-transform: rotate(-45deg) translate(-9px, 6px); 106 | transform: rotate(-45deg) translate(-9px, 6px); 107 | } 108 | 109 | .toggle .bar2 { 110 | opacity: 0; 111 | } 112 | 113 | .toggle .bar3 { 114 | -webkit-transform: rotate(45deg) translate(-8px, -8px); 115 | transform: rotate(45deg) translate(-8px, -8px); 116 | } 117 | 118 | /* Dropdown Styling */ 119 | 120 | .navbar .dropdown-menu { 121 | font-size: 16px; 122 | margin-right: 100px; 123 | } 124 | 125 | #icon { 126 | font-size: 20px; 127 | margin-right: 8px; 128 | } 129 | 130 | 131 | .dropdown-item span { 132 | cursor: pointer; 133 | display: inline-block; 134 | position: relative; 135 | transition: 0.5s; 136 | } 137 | 138 | .dropdown-item span:after { 139 | content: '\00bb'; 140 | position: absolute; 141 | opacity: 0; 142 | top: 0; 143 | right: -20px; 144 | transition: 0.5s; 145 | } 146 | 147 | .dropdown-item:hover span { 148 | padding-right: 25px; 149 | } 150 | 151 | .dropdown-item:hover span:after { 152 | opacity: 1; 153 | right: 0; 154 | } 155 | 156 | /* Jumbotron Styling */ 157 | 158 | .ljumbotron { 159 | background-color: var(--main-navbar-bg); 160 | } 161 | 162 | .jumbotron { 163 | background-color: var(--void); 164 | color: white; 165 | min-height: 100vh; 166 | /* background-image: url("https://cdn.discordapp.com/attachments/601850309517508659/658065883821768714/bgheader-small-2.png"); 167 | min-height: 85vh!important; 168 | background-origin: padding-box; 169 | background-position: 0 0; 170 | background-repeat: no-repeat; 171 | background-size: contain!important; 172 | filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='https://cdn.discordapp.com/attachments/601850309517508659/658065883821768714/bgheader-small-2.png',sizingMethod='scale'); */ 173 | } 174 | 175 | .jumbotron img { 176 | height: 100px; 177 | width: 380px; 178 | } 179 | 180 | .jumbotron p { 181 | margin-left: 20px; 182 | font-size: 20px; 183 | } 184 | 185 | .jumbotron a { 186 | margin-left: 20px; 187 | } 188 | 189 | .jumbotron .content a { 190 | border: 2px solid var(--eggshell); 191 | color: var(--eggshell); 192 | padding: 10px 16px; 193 | border-radius: 4px; 194 | transition: 0.3s; 195 | display: inline-block; 196 | } 197 | 198 | .learn-more:hover, 199 | .get-started:hover{ 200 | text-decoration: none; 201 | } 202 | 203 | 204 | /* About */ 205 | 206 | .about { 207 | margin-top: 20vh; 208 | margin-bottom: 20vh; 209 | } 210 | 211 | 212 | 213 | .about a { 214 | 215 | border: 2px solid var(--void); 216 | margin-right: 10px; 217 | margin-top: 50px; 218 | color: var(--void); 219 | padding: 10px 16px; 220 | border-radius: 4px; 221 | transition: 0.3s; 222 | display: inline-block; 223 | text-decoration: none; 224 | } 225 | 226 | 227 | /* Footer Styling */ 228 | 229 | .footer-dark { 230 | padding: 50px 0; 231 | color: #f0f9ff; 232 | background-color: var(--void); 233 | } 234 | 235 | .footer-dark h3 { 236 | margin-top: 0; 237 | margin-bottom: 12px; 238 | font-weight: 700; 239 | font-size: 16px 240 | } 241 | 242 | .footer-dark ul { 243 | padding: 0; 244 | list-style: none; 245 | line-height: 1.6; 246 | font-size: 14px; 247 | margin-bottom: 0 248 | } 249 | 250 | .footer-dark ul a { 251 | color: inherit; 252 | text-decoration: none; 253 | opacity: .6 254 | } 255 | 256 | .footer-dark ul a:hover { 257 | opacity: .8 258 | } 259 | 260 | .footer-dark .item.text { 261 | margin-bottom: 36px 262 | } 263 | 264 | /* Media Queries */ 265 | 266 | @media only screen and (max-width: 1007px) { 267 | .about .container{ 268 | text-align: center; 269 | } 270 | .about .container p { 271 | padding-top: 15px; 272 | } 273 | } 274 | 275 | .login-btn { 276 | border: 2px solid whzite; 277 | color: white; 278 | padding: 5px 15px 6px; 279 | margin-right: 10px; 280 | border-radius: 20px; 281 | transition: 0.2s ease-in-out; 282 | } 283 | 284 | .login-btn:hover { 285 | color: #7289DA; 286 | text-decoration: none; 287 | background-color:white; 288 | } 289 | 290 | 291 | .user-cards { 292 | display: grid; 293 | grid-template-columns: repeat(auto-fit, 350px); 294 | grid-gap: 40px; 295 | grid-row-gap: 120px; 296 | justify-content: center; 297 | align-items: center; 298 | margin: 40px 5px; 299 | } 300 | 301 | .user-card { 302 | height: 350px; 303 | max-width: 350px; 304 | margin-top: 50px; 305 | transition: transform 0.2s ease-in-out; 306 | bottom: 0; 307 | transition: 0.3s ease all; 308 | background: #303030; 309 | } 310 | 311 | .user-card > .content { 312 | padding: 15px; 313 | padding-bottom: 0; 314 | text-align: center; 315 | margin-bottom: 0 !important; 316 | } 317 | 318 | .user-card > .content > .avatar > .av { 319 | width: 128px; 320 | object-fit: cover; 321 | border-radius: 50%; 322 | transform: translate(0px, -79px); 323 | animation: pulsePic 2s infinite; 324 | -webkit-animation: pulsePic 2s infinite; 325 | background-color: #fff; 326 | user-select: none; 327 | -moz-user-select: none; 328 | -webkit-user-drag: none; 329 | -webkit-user-select: none; 330 | -ms-user-select: none; 331 | } 332 | 333 | .user-card > .content > .username { 334 | margin-top: -64px; 335 | color: #fff; 336 | font-size: 28px; 337 | font-weight: bold; 338 | } 339 | 340 | .user-card > .content > .bio { 341 | line-height: 150%; 342 | color: #fff; 343 | font-size: 16px; 344 | margin-bottom: 0; 345 | overflow: auto; 346 | } 347 | 348 | .user-card > .buttons { 349 | padding: 20px; 350 | z-index: 2; 351 | margin-top: 50px; 352 | text-align: center; 353 | } 354 | 355 | .user-card > .buttons > a { 356 | background-color: #232224; 357 | border: none; 358 | color: #fff; 359 | font-weight: 600; 360 | padding: 16px 70px; 361 | font-size: 16px; 362 | box-sizing: border-box; 363 | cursor: pointer; 364 | transition: transform 0.2s ease; 365 | outline: none; 366 | text-decoration: none; 367 | text-align: center; 368 | } 369 | .s003 { 370 | position: relative; 371 | display: -ms-block; 372 | display: block; 373 | -ms-flex-pack: center; 374 | justify-content: center; 375 | font-family: "Poppins", sans-serif; 376 | background-size: cover; 377 | background-position: center center; 378 | padding: 15px; 379 | } 380 | 381 | .s003 form { 382 | width: 100%; 383 | max-width: 790px; 384 | margin-bottom: 0; 385 | } 386 | 387 | .s003 form .inner-form { 388 | background: #fff; 389 | display: -ms-flexbox; 390 | display: flex; 391 | width: 100%; 392 | -ms-flex-pack: justify; 393 | justify-content: space-between; 394 | -ms-flex-align: center; 395 | align-items: center; 396 | box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); 397 | border-radius: 3px; 398 | } 399 | 400 | .s003 form .inner-form .input-field { 401 | height: 68px; 402 | } 403 | 404 | .s003 form .inner-form .input-field input { 405 | height: 100%; 406 | background: transparent; 407 | border: 0; 408 | display: block; 409 | width: 100%; 410 | padding: 10px 32px; 411 | font-size: 16px; 412 | color: #555; 413 | } 414 | 415 | .s003 form .inner-form .input-field input.placeholder { 416 | color: #888; 417 | font-size: 16px; 418 | } 419 | 420 | .s003 form .inner-form .input-field input:-moz-placeholder { 421 | color: #888; 422 | font-size: 16px; 423 | } 424 | 425 | .s003 form .inner-form .input-field input::-webkit-input-placeholder { 426 | color: #888; 427 | font-size: 16px; 428 | } 429 | 430 | .s003 form .inner-form .input-field input:hover, 431 | .s003 form .inner-form .input-field input:focus { 432 | box-shadow: none; 433 | outline: 0; 434 | background-color: #fff; 435 | } 436 | 437 | .s003 form .inner-form .input-field.first-wrap { 438 | width: 200px; 439 | border-right: 1px solid rgba(0, 0, 0, 0.1); 440 | } 441 | 442 | .s003 form .inner-form .input-field.first-wrap .choices__inner { 443 | background: transparent; 444 | border-radius: 0; 445 | border: 0; 446 | height: 100%; 447 | color: #fff; 448 | display: -ms-flexbox; 449 | display: flex; 450 | -ms-flex-align: center; 451 | align-items: center; 452 | padding: 10px 30px; 453 | } 454 | 455 | .s003 456 | form 457 | .inner-form 458 | .input-field.first-wrap 459 | .choices__inner 460 | .choices__list.choices__list--single { 461 | display: -ms-flexbox; 462 | display: flex; 463 | padding: 0; 464 | -ms-flex-align: center; 465 | align-items: center; 466 | height: 100%; 467 | } 468 | 469 | .s003 470 | form 471 | .inner-form 472 | .input-field.first-wrap 473 | .choices__inner 474 | .choices__item.choices__item--selectable.choices__placeholder { 475 | display: -ms-flexbox; 476 | display: flex; 477 | -ms-flex-align: center; 478 | align-items: center; 479 | height: 100%; 480 | opacity: 1; 481 | color: #888; 482 | } 483 | 484 | .s003 485 | form 486 | .inner-form 487 | .input-field.first-wrap 488 | .choices__inner 489 | .choices__list--single 490 | .choices__item { 491 | display: -ms-flexbox; 492 | display: flex; 493 | -ms-flex-align: center; 494 | align-items: center; 495 | height: 100%; 496 | color: #555; 497 | } 498 | 499 | .s003 500 | form 501 | .inner-form 502 | .input-field.first-wrap 503 | .choices[data-type*="select-one"]:after { 504 | right: 30px; 505 | border-color: #e5e5e5 transparent transparent transparent; 506 | } 507 | 508 | .s003 509 | form 510 | .inner-form 511 | .input-field.first-wrap 512 | .choices__list.choices__list--dropdown { 513 | border: 0; 514 | background: #fff; 515 | padding: 20px 30px; 516 | margin-top: 2px; 517 | border-radius: 4px; 518 | box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.15); 519 | } 520 | 521 | .s003 522 | form 523 | .inner-form 524 | .input-field.first-wrap 525 | .choices__list.choices__list--dropdown 526 | .choices__item--selectable { 527 | padding-right: 0; 528 | } 529 | 530 | .s003 531 | form 532 | .inner-form 533 | .input-field.first-wrap 534 | .choices__list--dropdown 535 | .choices__item--selectable.is-highlighted { 536 | background: #fff; 537 | color: #63c76a; 538 | } 539 | 540 | .s003 541 | form 542 | .inner-form 543 | .input-field.first-wrap 544 | .choices__list--dropdown 545 | .choices__item { 546 | color: #555; 547 | min-height: 24px; 548 | } 549 | 550 | .s003 form .inner-form .input-field.second-wrap { 551 | -ms-flex-positive: 1; 552 | flex-grow: 1; 553 | } 554 | 555 | .s003 form .inner-form .input-field.third-wrap { 556 | width: 74px; 557 | } 558 | 559 | .s003 form .inner-form .input-field.third-wrap .btn-search { 560 | height: 100%; 561 | width: 100%; 562 | white-space: nowrap; 563 | color: #fff; 564 | border: 0; 565 | cursor: pointer; 566 | background: #868ceb; 567 | transition: all 0.2s ease-out, color 0.2s ease-out; 568 | } 569 | 570 | .s003 form .inner-form .input-field.third-wrap .btn-search svg { 571 | width: 16px; 572 | } 573 | 574 | .s003 form .inner-form .input-field.third-wrap .btn-search:hover { 575 | background: #8288e0; 576 | } 577 | 578 | .s003 form .inner-form .input-field.third-wrap .btn-search:focus { 579 | outline: 0; 580 | box-shadow: none; 581 | } 582 | 583 | @media screen and (max-width: 992px) { 584 | .s003 form .inner-form .input-field { 585 | height: 50px; 586 | } 587 | } 588 | 589 | @media screen and (max-width: 1303px) { 590 | .navbar-toggler { 591 | display: block; 592 | } 593 | } 594 | .user-avatar { 595 | border-radius: 50%; 596 | width: 35px; 597 | height: 35px; 598 | } 599 | 600 | .username { 601 | font-weight: bold; 602 | } 603 | -------------------------------------------------------------------------------- /views/404/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Page Not Found | Discord Labs 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 99 | 260 | 261 | 302 | 303 | 304 | 305 |
306 |
307 | 404 308 |
309 |
310 | Oops, the page you're
311 | looking for does not exist. 312 |
313 |
314 |
315 |
316 | 317 |

318 | You may want to head back to the homepage.
319 | If you think something is broken, report an issue. 320 |

321 |
322 |
323 | Homepage 324 | Report Issue 325 |
326 |
327 | 328 | 329 | 442 | 443 | 444 | 445 | 446 | 447 | --------------------------------------------------------------------------------