diff --git a/.gitignore b/.gitignore index c17c45f..14bac7d 100644 --- a/.gitignore +++ b/.gitignore @@ -14,5 +14,6 @@ sent # all sent mail is there .cache/* .env .env.* +!.env.example .uptime-url main.cron diff --git a/hackclub-spotify-bot/src/.env.example b/hackclub-spotify-bot/src/.env.example new file mode 100644 index 0000000..0b5bff2 --- /dev/null +++ b/hackclub-spotify-bot/src/.env.example @@ -0,0 +1,6 @@ +SLACK_CLIENT_ID= +SLACK_CLIENT_SECRET= +SLACK_TOKEN= +SPOTIFY_CLIENT_ID= +SPOTIFY_CLIENT_SECRET= +SPOTIFY_REDIRECT_URI= \ No newline at end of file diff --git a/hackclub-spotify-bot/src/index.js b/hackclub-spotify-bot/src/index.js index ce9cfc7..81b86bd 100644 --- a/hackclub-spotify-bot/src/index.js +++ b/hackclub-spotify-bot/src/index.js @@ -1,40 +1,45 @@ -require('dotenv').config(); -const express = require('express'); -const session = require('express-session'); -const { WebClient } = require('@slack/web-api'); -const { Client } = require('@slack/oauth'); -const { getLoginUrl, refreshToken } = require('./spotify'); -const path = require('path'); - -const app = express(); -// Initialize -const web = new WebClient(process.env.SLACK_TOKEN); -const oauth = new Client({ - clientId: process.env.SLACK_CLIENT_ID, - clientSecret: process.env.SLACK_CLIENT_SECRET, - state: Math.random().toString(36).substring(2), -}); -app.use(express.json()); -app.use(express.static(path.join(__dirname, 'public'))); -app.set('view engine', 'ejs'); -app.set('views', 'src/views'); -app.use(express.urlencoded({ extended: true })); -app.use(session({ - secret: Math.random().toString(36).substring(2), - resave: false, - saveUninitialized: true, - cookie: { secure: true } -})); - -app.get('/', (req, res) => { -res.render('index', { title: 'Hack Club Spotify Bot', description: "Contribute to the hackclub spotify playlist!" }); -}); -app.get('/login', async (req, res) => { - if(req.session.token) { - - } -}) - -app.listen(process.env.PORT || 3000, () => { - console.log('Example app listening on port 3000!'); -}); \ No newline at end of file +const path = require("path"); +require("dotenv").config({ path: path.join(__dirname, ".env") }); +console.debug(process.env); +const express = require("express"); +const session = require("express-session"); +const { WebClient } = require("@slack/web-api"); +const { InstallProvider } = require("@slack/oauth"); +const { getLoginUrl, refreshToken } = require("./spotify"); + +const app = express(); +// Initialize +const web = new WebClient(process.env.SLACK_TOKEN); +const oauth = new InstallProvider({ + clientId: process.env.SLACK_CLIENT_ID, + clientSecret: process.env.SLACK_CLIENT_SECRET, + stateSecret: Math.random().toString(36).substring(2), +}); +app.use(express.json()); +app.use(express.static(path.join(__dirname, "public"))); +app.set("view engine", "ejs"); +app.set("views", "src/views"); +app.use(express.urlencoded({ extended: true })); +app.use( + session({ + secret: Math.random().toString(36).substring(2), + resave: false, + saveUninitialized: true, + cookie: { secure: true }, + }), +); + +app.get("/", (req, res) => { + res.render("index", { + title: "Hack Club Spotify Bot", + description: "Contribute to the hackclub spotify playlist!", + }); +}); +app.get("/login", async (req, res) => { + if (req.session.token) { + } +}); + +app.listen(process.env.PORT || 3000, () => { + console.log("Example app listening on port 3000!"); +});