Update
This commit is contained in:
1 parent
900a4f65da
commit
be8c70ab94
7 files changed
+118
-13
No files matched your search
+3
-2
@@ -9,12 +9,13 @@ const client = new Client({
|
||||
GatewayIntentBits.GuildMessageReactions,
|
||||
GatewayIntentBits.GuildMessageTyping,
|
||||
GatewayIntentBits.DirectMessages,
|
||||
|
||||
|
||||
]
|
||||
});
|
||||
client.config = require('../config');
|
||||
// Set intents
|
||||
client.on('ready', () => {
|
||||
console.log('Bot is ready!');
|
||||
});
|
||||
// Login
|
||||
client.login(process.env.BOT_TOKEN);
|
||||
client.login(client.config.bot.token);
|
||||
@@ -1,5 +1,5 @@
|
||||
module.exports = {
|
||||
|
||||
"mongodb": "mongodb+srv://root:RzIhDff90LKkOOjw@cluster0.jo9hd.mongodb.net/?retryWrites=true&w=majority",
|
||||
"bot": {
|
||||
"token": "OTM0MDg3NTIzNjQ5NjA5NzY4.GV-g1-.Eggw57JNtsrLPbakg-_yr8fn8oBAbh0nKfK-lk"
|
||||
}
|
||||
|
||||
@@ -3,10 +3,12 @@ const bot = require('./bot');
|
||||
const website = require('./website');
|
||||
// Import config and export
|
||||
const config = require('./config');
|
||||
const mongoose = require('mongoose');
|
||||
// Connect to mongoDB
|
||||
try {
|
||||
mongoose.connect(config.mongoDB.url);
|
||||
mongoose.connect(config.mongodb);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
console.log('Error connecting to mongoDB');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
Generated
+82
-1
@@ -13,7 +13,8 @@
|
||||
"express": "^4.18.1",
|
||||
"express-session": "^1.17.3",
|
||||
"mongoose": "^6.5.0",
|
||||
"passport": "^0.6.0"
|
||||
"passport": "^0.6.0",
|
||||
"passport-discord": "^0.1.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@discordjs/builders": {
|
||||
@@ -155,6 +156,14 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/base64url": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz",
|
||||
"integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==",
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/body-parser": {
|
||||
"version": "1.20.0",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
|
||||
@@ -750,6 +759,11 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/oauth": {
|
||||
"version": "0.9.15",
|
||||
"resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
|
||||
"integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
|
||||
},
|
||||
"node_modules/object-inspect": {
|
||||
"version": "1.12.2",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
|
||||
@@ -802,6 +816,33 @@
|
||||
"url": "https://github.com/sponsors/jaredhanson"
|
||||
}
|
||||
},
|
||||
"node_modules/passport-discord": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/passport-discord/-/passport-discord-0.1.4.tgz",
|
||||
"integrity": "sha512-VJWPYqSOmh7SaCLw/C+k1ZqCzJnn2frrmQRx1YrcPJ3MQ+Oa31XclbbmqFICSvl8xv3Fqd6YWQ4H4p1MpIN9rA==",
|
||||
"dependencies": {
|
||||
"passport-oauth2": "^1.5.0"
|
||||
}
|
||||
},
|
||||
"node_modules/passport-oauth2": {
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.6.1.tgz",
|
||||
"integrity": "sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ==",
|
||||
"dependencies": {
|
||||
"base64url": "3.x.x",
|
||||
"oauth": "0.9.x",
|
||||
"passport-strategy": "1.x.x",
|
||||
"uid2": "0.0.x",
|
||||
"utils-merge": "1.x.x"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/jaredhanson"
|
||||
}
|
||||
},
|
||||
"node_modules/passport-strategy": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
|
||||
@@ -1156,6 +1197,11 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/uid2": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz",
|
||||
"integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA=="
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "5.8.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz",
|
||||
@@ -1336,6 +1382,11 @@
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
|
||||
},
|
||||
"base64url": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz",
|
||||
"integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A=="
|
||||
},
|
||||
"body-parser": {
|
||||
"version": "1.20.0",
|
||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz",
|
||||
@@ -1776,6 +1827,11 @@
|
||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
||||
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
|
||||
},
|
||||
"oauth": {
|
||||
"version": "0.9.15",
|
||||
"resolved": "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz",
|
||||
"integrity": "sha512-a5ERWK1kh38ExDEfoO6qUHJb32rd7aYmPHuyCu3Fta/cnICvYmgd2uhuKXvPD+PXB+gCEYYEaQdIRAjCOwAKNA=="
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.12.2",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
|
||||
@@ -1809,6 +1865,26 @@
|
||||
"utils-merge": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"passport-discord": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/passport-discord/-/passport-discord-0.1.4.tgz",
|
||||
"integrity": "sha512-VJWPYqSOmh7SaCLw/C+k1ZqCzJnn2frrmQRx1YrcPJ3MQ+Oa31XclbbmqFICSvl8xv3Fqd6YWQ4H4p1MpIN9rA==",
|
||||
"requires": {
|
||||
"passport-oauth2": "^1.5.0"
|
||||
}
|
||||
},
|
||||
"passport-oauth2": {
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.6.1.tgz",
|
||||
"integrity": "sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ==",
|
||||
"requires": {
|
||||
"base64url": "3.x.x",
|
||||
"oauth": "0.9.x",
|
||||
"passport-strategy": "1.x.x",
|
||||
"uid2": "0.0.x",
|
||||
"utils-merge": "1.x.x"
|
||||
}
|
||||
},
|
||||
"passport-strategy": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
|
||||
@@ -2061,6 +2137,11 @@
|
||||
"random-bytes": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"uid2": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.4.tgz",
|
||||
"integrity": "sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA=="
|
||||
},
|
||||
"undici": {
|
||||
"version": "5.8.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.8.0.tgz",
|
||||
|
||||
+2
-1
@@ -29,6 +29,7 @@
|
||||
"express": "^4.18.1",
|
||||
"express-session": "^1.17.3",
|
||||
"mongoose": "^6.5.0",
|
||||
"passport": "^0.6.0"
|
||||
"passport": "^0.6.0",
|
||||
"passport-discord": "^0.1.4"
|
||||
}
|
||||
}
|
||||
+19
-4
@@ -6,6 +6,11 @@ const path = require('path');
|
||||
const mongoose = require('mongoose');
|
||||
const session = require('express-session');
|
||||
const passport = require('passport');
|
||||
var DiscordStrategy = require('passport-discord').Strategy;
|
||||
var bot = require('./routers/bot');
|
||||
var admin = require('./routers/admin');
|
||||
var auth = require('./routers/auth');
|
||||
|
||||
// set up session
|
||||
app.use(session({
|
||||
secret: 'secret',
|
||||
@@ -13,13 +18,23 @@ app.use(session({
|
||||
saveUninitialized: false
|
||||
}));
|
||||
// Import routers
|
||||
var bot = require('./routers/bot');
|
||||
app.use('/bot', bot);
|
||||
var admin = require('./routers/admin');
|
||||
app.use('/admin', admin);
|
||||
var auth = require('./routers/auth');
|
||||
app.use('/auth', auth);
|
||||
|
||||
var scopes = ['identify', 'email', 'guilds', 'guilds.join'];
|
||||
|
||||
passport.use(new DiscordStrategy({
|
||||
clientID: 'id',
|
||||
clientSecret: 'secret',
|
||||
callbackURL: 'callbackURL',
|
||||
scope: scopes
|
||||
},
|
||||
function (accessToken, refreshToken, profile, cb) {
|
||||
User.findOrCreate({ discordId: profile.id }, function (err, user) {
|
||||
return cb(err, user);
|
||||
});
|
||||
}));
|
||||
// use passport for authentication
|
||||
app.use(passport.initialize());
|
||||
app.use(passport.session());
|
||||
@@ -33,5 +48,5 @@ app.get('/', (req, res) => {
|
||||
});
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log('Your app is listening on port ' + listener.address().port);
|
||||
console.log('Your app is listening on port ' + port);
|
||||
});
|
||||
@@ -1,7 +1,12 @@
|
||||
var express = require('express'),
|
||||
router = express.Router();
|
||||
router = express.Router();
|
||||
passport = require('passport');
|
||||
|
||||
router.get('/', function () {
|
||||
})
|
||||
|
||||
router.get('/', passport.authenticate('discord'));
|
||||
router.get('/auth/discord/callback', passport.authenticate('discord', {
|
||||
failureRedirect: '/'
|
||||
}), function (req, res) {
|
||||
res.redirect('/secretstuff') // Successful auth
|
||||
});
|
||||
module.exports = router;
|
||||
Reference in new issue
Block a user