Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const express = require('express');
- const router = express.Router();
- const fetch = require('node-fetch');
- const btoa = require('btoa');
- const { catchAsync } = require('../js/util');
- const User = require('../models/user');
- const notifier = require('../js/notifier');
- const client_id = '601448212418789381';
- const client_secret = 'b5VpCrVE4cQNiBz8ckVtXKIO1yEs_wUp';
- const redirect = 'https%3A%2F%2Fthebox1.ml%2Fdiscordapi';
- router.get('/', catchAsync(async (req, res) => {
- if (!req.query.code) throw new Error('NoCodeProvided');
- const code = req.query.code;
- const creds = btoa(`${client_id}:${client_secret}`);
- const token = await callAPI(`https://discordapp.com/api/oauth2/token?grant_type=authorization_code&code=${code}&redirect_uri=${redirect}`, `Basic ${creds}`, 'POST');
- const user = await callAPI(`https://discordapp.com/api/users/@me`, `Bearer ${token.access_token}`, 'GET');
- if (!user.username) return;
- await User.findOne({username: user.username}, function(err, user) {
- if (err) throw err;
- if (user != null) {
- res.send('You have already registered!');
- return;
- }
- continueUserCreation();
- });
- async function continueUserCreation() {
- var newUser = new User({
- username: user.username,
- verified: user.verified,
- locale: user.locale,
- mfa_enabled: user.mfa_enabled,
- id: user.id,
- avatar: user.avatar,
- discriminator: user.discriminator,
- });
- await User.create(newUser, function(err, user) {
- if (err) throw err;
- });
- notifier.emit('registeredUser', user);
- console.log(`Registered: ${user.username}#${user.discriminator}`);
- res.send(`Registered: ${user.username}#${user.discriminator}`);
- }
- }));
- async function callAPI(url, auth, type) {
- const response = await fetch(url,
- {
- method: type,
- headers: {
- Authorization: auth,
- },
- });
- return await response.json();
- }
- module.exports = router;
Add Comment
Please, Sign In to add comment