minor resilience improvement and formatting
in closepoll.ts was an unsafe arrays usage without checking the bounds
This commit is contained in:
parent
0d5c3d30a9
commit
1ee55f995c
@ -29,9 +29,15 @@ export default new Command({
|
|||||||
export async function closePoll(guild: Guild, requestId: string) {
|
export async function closePoll(guild: Guild, requestId: string) {
|
||||||
const guildId = guild.id
|
const guildId = guild.id
|
||||||
logger.info("stopping poll", { guildId: guildId, requestId })
|
logger.info("stopping poll", { guildId: guildId, requestId })
|
||||||
const announcementChannel: TextChannel = <TextChannel>(await guild.channels.fetch())
|
const channels: TextChannel[] = <TextChannel[]><unknown>(await guild.channels.fetch())
|
||||||
?.filter(channel => channel!.id === config.bot.announcement_channel_id)
|
?.filter(channel => channel!.id === config.bot.announcement_channel_id)
|
||||||
.map((value, _) => value)[0] //todo: needs to be done less sketchy
|
.map((value, _) => value)
|
||||||
|
|
||||||
|
if(!channels || channels.length != 1) {
|
||||||
|
logger.error(`Could not find announcement channel. Found ${channels}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const announcementChannel = channels[0]
|
||||||
|
|
||||||
const messages: Message<true>[] = (await announcementChannel.messages.fetch()) //todo: fetch only pinned messages
|
const messages: Message<true>[] = (await announcementChannel.messages.fetch()) //todo: fetch only pinned messages
|
||||||
.map((value, _) => value)
|
.map((value, _) => value)
|
||||||
@ -43,7 +49,6 @@ export async function closePoll(guild: Guild, requestId: string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const lastMessage: Message<true> = messages[0]
|
const lastMessage: Message<true> = messages[0]
|
||||||
|
|
||||||
logger.debug(`Found messages: ${JSON.stringify(messages, null, 2)}`, { guildId: guildId, requestId })
|
logger.debug(`Found messages: ${JSON.stringify(messages, null, 2)}`, { guildId: guildId, requestId })
|
||||||
|
@ -41,7 +41,7 @@ export async function execute(event: GuildScheduledEvent) {
|
|||||||
sentMessage.react(Emotes[i])
|
sentMessage.react(Emotes[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!task){
|
if (!task) {
|
||||||
task = schedule("0 * * * * *", () => checkForPollsToClose(event))
|
task = schedule("0 * * * * *", () => checkForPollsToClose(event))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,15 +61,15 @@ async function checkForPollsToClose(event: GuildScheduledEvent): Promise<void> {
|
|||||||
.filter(event => event.name.toLowerCase().includes("voting offen"))
|
.filter(event => event.name.toLowerCase().includes("voting offen"))
|
||||||
.map((value, _) => value)
|
.map((value, _) => value)
|
||||||
|
|
||||||
if(!events || events.length <= 0) {
|
if (!events || events.length <= 0) {
|
||||||
logger.info("Did not find any events. Cancelling", { guildId: event.guildId, requestId })
|
logger.info("Did not find any events. Cancelling", { guildId: event.guildId, requestId })
|
||||||
return
|
return
|
||||||
} else if(events.length > 1) {
|
} else if (events.length > 1) {
|
||||||
logger.error(`More than one event found. Don't know which one is the right one :( Events: ${JSON.stringify(events, null, 2)}`, { guildId: event.guildId, requestId })
|
logger.error(`More than one event found. Don't know which one is the right one :( Events: ${JSON.stringify(events, null, 2)}`, { guildId: event.guildId, requestId })
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const updatedEvent = events[0] //add two hours because of different timezones in discord api and Date.now()
|
const updatedEvent = events[0] //add two hours because of different timezones in discord api and Date.now()
|
||||||
if(!updatedEvent.scheduledStartTimestamp) {
|
if (!updatedEvent.scheduledStartTimestamp) {
|
||||||
logger.error("Event does not have a scheduled start time. Cancelling", { guildId: event.guildId, requestId })
|
logger.error("Event does not have a scheduled start time. Cancelling", { guildId: event.guildId, requestId })
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user