Merge pull request #16 from purpleempress/next

remove unused yt api field, add config option for invidious host, devmode update
This commit is contained in:
FLGX 2020-04-19 19:37:02 +02:00 committed by GitHub
commit cd989caa93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 11 deletions

View File

@ -9,10 +9,14 @@ const config = {
// API keys that are required for some features/commands
keys: {
dbl: '', // top.gg key
yt: '', // youtube API key
sentry: '' // sentry.io dsn
},
// Configurable API endpoints
endpoints: {
invidious: "https://invidious.snopyta.org/api/"
},
// Users added to this embed get access to developer-level commands
devs: [''],

View File

@ -28,12 +28,18 @@ client.db = require('./utils/mongoose')
client.logger = require('./utils/logger')
require('./utils/_functions')(client)
// Check if Woomy is running inside a Docker container
if (isDocker() === true) {
client.devmode = true
if (typeof client.config.devmode !== 'undefined') { //Check if devmode is explicitly overridden
client.devmode = client.config.devmode;
} else { //Check if Woomy is running inside a Docker
if (isDocker() === false) {
client.devmode = true
} else {
client.devmode = false
}
}
if (client.devmode) {
client.logger.warn('Running in development mode.')
} else {
client.devmode = false
}
// Create caches for permissions, commands, cooldowns and aliases
@ -101,7 +107,7 @@ const init = async () => {
if (client.devmode !== true) {
client.login(client.config.token).catch(failedToLogin)
} else {
client.login(client.config.token_dev).catch(failedToLogin)
client.login(client.config.devtoken).catch(failedToLogin)
}
}

View File

@ -33,14 +33,14 @@ exports.getLinkFromID = function (id) {
return 'https://www.youtube.com/watch?v=' + id
}
exports.getVideoByQuery = async query => {
exports.getVideoByQuery = async function (client, query) {
let res
try {
const id = await ytdl.getURLVideoID(query)
res = await fetch('https://invidious.snopyta.org/api/v1/videos/' + id)
res = await fetch(`${client.config.endpoints.invidious}v1/videos/${id}`)
} catch (err) {
res = await fetch('https://invidious.snopyta.org/api/v1/search?q=' + encodeURIComponent(query))
res = await fetch(`${client.config.endpoints.invidious}v1/search?q=${encodeURIComponent(query)}`)
}
const parsed = await res.json()
@ -71,7 +71,7 @@ exports.play = async function (client, message, query, ignoreQueue) {
let videos
if (!ignoreQueue) {
videos = await exports.getVideoByQuery(query)
videos = await exports.getVideoByQuery(client, query)
if (!videos[1]) {
if (!videos[0]) {
video = videos