Split getFmUsername into own function
This also fixes the bug that happens when a user tries the default fm command and it crashes the bot.
This commit is contained in:
parent
09d9a28b19
commit
53358531e5
2 changed files with 27 additions and 20 deletions
|
@ -1,28 +1,11 @@
|
||||||
|
const getFmUsername = require("./getFmUsername");
|
||||||
|
|
||||||
require("dotenv").config();
|
require("dotenv").config();
|
||||||
module.exports = async function(userID) {
|
module.exports = async function(userID) {
|
||||||
let sendText = "";
|
let sendText = "";
|
||||||
let scrobble = {};
|
let scrobble = {};
|
||||||
const apiKey = process.env.LAST_FM_API_KEY;
|
const apiKey = process.env.LAST_FM_API_KEY;
|
||||||
let lastfmUsername = await new Promise((resolve, reject)=>{
|
let lastfmUsername = await getFmUsername(userID);
|
||||||
const sqlite3 = require('sqlite3').verbose();
|
|
||||||
const db = new sqlite3.Database('data/database.db');
|
|
||||||
db.get(
|
|
||||||
`SELECT * FROM lastfm WHERE userID = ?`,
|
|
||||||
[userID],
|
|
||||||
(error, row) => {
|
|
||||||
if (error) {
|
|
||||||
console.error(error);
|
|
||||||
reject(error);
|
|
||||||
} else {
|
|
||||||
if (row == undefined) {
|
|
||||||
resolve(undefined);
|
|
||||||
}
|
|
||||||
resolve(row.lastfmUsername);
|
|
||||||
}
|
|
||||||
db.close();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
});
|
|
||||||
if(lastfmUsername != undefined){
|
if(lastfmUsername != undefined){
|
||||||
scrobble = await new Promise ((resolve, reject) => {
|
scrobble = await new Promise ((resolve, reject) => {
|
||||||
fetch(`https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=${lastfmUsername}&api_key=${apiKey}&format=json`)
|
fetch(`https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=${lastfmUsername}&api_key=${apiKey}&format=json`)
|
||||||
|
|
24
util/lastfm/getFmUsername.js
Normal file
24
util/lastfm/getFmUsername.js
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
module.exports = async function(userID) {
|
||||||
|
let lastfmUsername = await new Promise((resolve, reject)=>{
|
||||||
|
const sqlite3 = require('sqlite3').verbose();
|
||||||
|
const db = new sqlite3.Database('data/database.db');
|
||||||
|
db.get(
|
||||||
|
`SELECT * FROM lastfm WHERE userID = ?`,
|
||||||
|
[userID],
|
||||||
|
(error, row) => {
|
||||||
|
if (error) {
|
||||||
|
console.error(error);
|
||||||
|
reject(error);
|
||||||
|
} else {
|
||||||
|
if (row == undefined) {
|
||||||
|
resolve(undefined);
|
||||||
|
}else{
|
||||||
|
resolve(row.lastfmUsername);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.close();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
return lastfmUsername;
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue