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:
SileNce5k 2024-03-07 10:47:35 +01:00
parent 09d9a28b19
commit 53358531e5
No known key found for this signature in database
GPG key ID: 961132EB78C8915F
2 changed files with 27 additions and 20 deletions

View file

@ -1,28 +1,11 @@
const getFmUsername = require("./getFmUsername");
require("dotenv").config();
module.exports = async function(userID) {
let sendText = "";
let scrobble = {};
const apiKey = process.env.LAST_FM_API_KEY;
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);
}
resolve(row.lastfmUsername);
}
db.close();
}
);
});
let lastfmUsername = await getFmUsername(userID);
if(lastfmUsername != undefined){
scrobble = await new Promise ((resolve, reject) => {
fetch(`https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user=${lastfmUsername}&api_key=${apiKey}&format=json`)

View 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;
}