move preparation of vote Message sending into vote controller
event only needs to supply information, text creation, sending and pinning happens in the vote controller
This commit is contained in:
@ -4,7 +4,6 @@ import { client, yavinJellyfinHandler } from "../..";
|
||||
import { Maybe } from "../interfaces";
|
||||
import { logger } from "../logger";
|
||||
|
||||
|
||||
export const name = 'guildScheduledEventCreate'
|
||||
|
||||
export async function execute(event: GuildScheduledEvent) {
|
||||
@ -25,15 +24,21 @@ export async function execute(event: GuildScheduledEvent) {
|
||||
return
|
||||
}
|
||||
logger.debug(`Found channel ${JSON.stringify(announcementChannel, null, 2)}`, { guildId: event.guildId, requestId })
|
||||
|
||||
if (!event.scheduledStartAt) {
|
||||
logger.info("EVENT DOES NOT HAVE STARTDATE; CANCELLING", { guildId: event.guildId, requestId })
|
||||
logger.info("Event does not have a start date, cancelling", { guildId: event.guildId, requestId })
|
||||
return
|
||||
}
|
||||
const sentMessageText = client.voteController.createVoteMessageText(event.id, event.scheduledStartAt, movies, event.guild?.id ?? "", requestId)
|
||||
const sentMessage = await client.voteController.sendVoteMessage(sentMessageText, movies.length, announcementChannel)
|
||||
const sentMessage = await client.voteController.prepareAndSendVoteMessage({
|
||||
movies,
|
||||
startDate: event.scheduledStartAt,
|
||||
event,
|
||||
announcementChannel,
|
||||
pinAfterSending: true
|
||||
},
|
||||
event.guildId,
|
||||
requestId)
|
||||
|
||||
sentMessage.pin()
|
||||
logger.debug(JSON.stringify(sentMessage))
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user