fix/movie_names_and_background_task #46
@ -24,10 +24,10 @@ export async function execute(event: GuildScheduledEvent) {
|
||||
logger.info("Event was a placeholder event to start a new watchparty and voting. Creating vote!", { guildId: event.guildId, requestId })
|
||||
logger.debug("Renaming event", { guildId: event.guildId, requestId })
|
||||
event.edit({ name: "Watchparty - Voting offen" })
|
||||
const movies = await yavinJellyfinHandler.getRandomMovies(5, event.guildId, requestId)
|
||||
const movies = await yavinJellyfinHandler.getRandomMovieNames(5, event.guildId, requestId)
|
||||
|
||||
logger.info(`Got ${movies.length} random movies. Creating voting`, { guildId: event.guildId, requestId })
|
||||
logger.debug(`Movies: ${JSON.stringify(movies.map(movie => movie.name))}`, { guildId: event.guildId, requestId })
|
||||
logger.debug(`Movies: ${JSON.stringify(movies)}`, { guildId: event.guildId, requestId })
|
||||
|
||||
const announcementChannel: Maybe<TextChannel> = client.getAnnouncementChannelForGuild(event.guildId)
|
||||
if(!announcementChannel) {
|
||||
@ -45,7 +45,7 @@ export async function execute(event: GuildScheduledEvent) {
|
||||
let message = `[Abstimmung]\n<@&${config.bot.announcement_role}> Es gibt eine neue Abstimmung für die nächste Watchparty am ${date} um ${time}}! Stimme hierunter für den nächsten Film ab!\n`
|
||||
|
||||
for (let i = 0; i < movies.length; i++) {
|
||||
message = message.concat(Emotes[i]).concat(": ").concat(movies[i].name ?? "Film hatte keinen Namen :(").concat("\n")
|
||||
message = message.concat(Emotes[i]).concat(": ").concat(movies[i]).concat("\n")
|
||||
}
|
||||
|
||||
const options: MessageCreateOptions = {
|
||||
|
@ -242,10 +242,21 @@ export class JellyfinHandler {
|
||||
const index = Math.floor(Math.random() * allMovies.length)
|
||||
movies.push(...allMovies.splice(index, 1)) // maybe out of bounds? ?
|
||||
}
|
||||
|
||||
return movies
|
||||
}
|
||||
|
||||
public async getRandomMovieNames(count: number, guildId: string, requestId: string): Promise<string[]> {
|
||||
logger.info(`${count} random movie names requested`, { guildId, requestId })
|
||||
|
||||
let movieCount = 0
|
||||
let movieNames: string[]
|
||||
do {
|
||||
movieNames = (await this.getRandomMovies(count, guildId, requestId)).filter(movie => movie.name && movie.name.length > 0).map(movie => <string> movie.name)
|
||||
movieCount = movieNames.length
|
||||
} while (movieCount < count)
|
||||
return movieNames
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
export enum UserUpsertResult { enabled, created }
|
||||
|
Loading…
Reference in New Issue
Block a user