Adding more typings

This commit is contained in:
Christer Warén 2023-06-07 17:42:21 +03:00
parent 16ef8e70e6
commit 24a6e80f26
4 changed files with 11 additions and 10 deletions

View File

@ -9,8 +9,8 @@ export interface datastore {
id: string,
name?: string
},
statistics: statistics | {},
state: state | {},
statistics: statistics,
state: state | null,
updated?: string
}
@ -58,7 +58,7 @@ export default class Datastore {
id: id,
},
statistics: {},
state: {}
state: null
};
this.map.set(id, newData);
this.saveEntry(id, newData);

View File

@ -16,10 +16,10 @@ export interface radio {
playTime?: number,
}
export interface state extends Object {
export interface state {
channels: {
"text": string,
"voice": string
"text": string | undefined,
"voice": string | undefined
},
date: string,
station: {
@ -62,7 +62,7 @@ export default class Radio extends Map {
let state = client.funcs.loadState(client, guild);
if(!state) return;
if(!state.hasOwnProperty('station') || !state.hasOwnProperty('channels')) return;
if(state.channels?.text === undefined || state.channels?.voice === undefined) return;
let voiceChannel = client.channels.cache.get(state.channels.voice);
if(!voiceChannel || !(voiceChannel instanceof VoiceChannel)) return;
@ -97,7 +97,7 @@ export default class Radio extends Map {
let date = new Date();
construct.startTime = date.getTime();
client.datastore?.checkEntry(guild.id);
//@ts-ignore
client.funcs.play(client, null, guild, station);
} catch (error) {
console.log(error);

View File

@ -1,5 +1,6 @@
import { ButtonInteraction, ChatInputCommandInteraction, ColorResolvable, EmbedBuilder, StringSelectMenuInteraction } from "discord.js";
import RadioClient from "../../Client";
import { station } from "../classes/Stations";
export default {
name: 'list',
@ -21,7 +22,7 @@ export default {
if(radio && !client.config.maintenanceMode){
client.funcs.listStations(client, interaction);
} else {
let stations = `${client.stations.map((s: { name: any; }) => `**#** ${s.name}`).join('\n')}`
let stations = `${client.stations.map((s: station) => `**#** ${s.name}`).join('\n')}`
const hashs = stations.split('**#**').length;
for (let i = 0; i < hashs; i++) {
stations = stations.replace('**#**', `**${i + 1}.**`);

View File

@ -7,7 +7,7 @@ export default function loadState(client: RadioClient, guild: OAuth2Guild) {
if(!data) return;
let state = data.state;
if(!state) return;
data.state = {};
data.state = null;
client.datastore.updateEntry(guild, data);
return state;
}