mirror of
https://github.com/DreamExposure/DisCal-Discord-Bot.git
synced 2026-05-08 02:10:05 -05:00
This should fix a handful of issues with the new announcement command
This commit is contained in:
+70
-71
@@ -89,21 +89,22 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
return Mono.justOrEmpty(event.interaction.member).filterWhen(Member::hasControlRole).flatMap {
|
||||
if (wizard.get(settings.guildID) == null) {
|
||||
channelMono.flatMap { channel ->
|
||||
val pre = Announcement(settings.guildID)
|
||||
pre.type = type
|
||||
pre.announcementChannelId = channel.id.asString()
|
||||
pre.minutesBefore = minutes
|
||||
pre.hoursBefore = hours
|
||||
pre.calendarNumber = calendar
|
||||
val pre = Announcement(settings.guildID,
|
||||
type = type,
|
||||
announcementChannelId = channel.id.asString(),
|
||||
minutesBefore = minutes,
|
||||
hoursBefore = hours,
|
||||
calendarNumber = calendar
|
||||
)
|
||||
wizard.start(pre)
|
||||
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("create.success", settings), it) }
|
||||
}
|
||||
} else {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, wizard.get(settings.guildID)!!, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, wizard.get(settings.guildID)!!, settings) }
|
||||
.flatMap { event.followup(getMessage("error.wizard.started", settings), it) }
|
||||
}
|
||||
}.switchIfEmpty(event.followupEphemeral(getCommonMsg("error.perms.privileged", settings)))
|
||||
@@ -120,8 +121,12 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
val pre = wizard.get(settings.guildID)
|
||||
if (pre != null) {
|
||||
pre.type = type
|
||||
|
||||
// Handle edge case where event is already set, but has recurrence suffix.
|
||||
pre.eventId = pre.eventId.split("_")[0]
|
||||
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("type.success", settings), it) }
|
||||
} else {
|
||||
event.followupEphemeral(getMessage("error.wizard.notStarted", settings))
|
||||
@@ -147,12 +152,12 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
else pre.eventId = eventId
|
||||
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("event.success", settings), it) }
|
||||
}.switchIfEmpty(event.followupEphemeral(getCommonMsg("error.notFound.event", settings)))
|
||||
} else {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("event.failure.type", settings), it) }
|
||||
}
|
||||
} else {
|
||||
@@ -176,11 +181,11 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
pre.eventColor = color
|
||||
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("color.success", settings), it) }
|
||||
} else {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("color.failure.type", settings), it) }
|
||||
}
|
||||
} else {
|
||||
@@ -203,7 +208,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
pre.announcementChannelId = channel.id.asString()
|
||||
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("channel.success", settings), it) }
|
||||
}
|
||||
} else {
|
||||
@@ -224,7 +229,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
if (pre != null) {
|
||||
pre.minutesBefore = minutes
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("minutes.success", settings), it) }
|
||||
} else {
|
||||
event.followupEphemeral(getMessage("error.wizard.notStarted", settings))
|
||||
@@ -244,7 +249,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
if (pre != null) {
|
||||
pre.hoursBefore = hours
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("hours.success", settings), it) }
|
||||
} else {
|
||||
event.followupEphemeral(getMessage("error.wizard.notStarted", settings))
|
||||
@@ -263,7 +268,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
if (pre != null) {
|
||||
pre.info = info
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("info.success.set", settings), it) }
|
||||
} else {
|
||||
event.followupEphemeral(getMessage("error.wizard.notStarted", settings))
|
||||
@@ -283,7 +288,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
if (pre != null) {
|
||||
pre.calendarNumber = calendar
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("calendar.success", settings), it) }
|
||||
} else {
|
||||
event.followupEphemeral(getMessage("error.wizard.notStarted", settings))
|
||||
@@ -303,11 +308,11 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
if (settings.patronGuild) {
|
||||
pre.publish = publish
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("publish.success", settings), it) }
|
||||
} else {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("error.patronOnly", settings), it) }
|
||||
}
|
||||
} else {
|
||||
@@ -321,7 +326,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
val pre = wizard.get(settings.guildID)
|
||||
if (pre != null) {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(it) }
|
||||
} else {
|
||||
event.followupEphemeral(getMessage("error.wizard.notStarted", settings))
|
||||
@@ -342,7 +347,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
val msg = if (pre.editing) getMessage("confirm.success.edit", settings)
|
||||
else getMessage("confirm.success.create", settings)
|
||||
|
||||
event.interaction.guild.flatMap { AnnouncementEmbed.view(pre, it) }.flatMap { embed ->
|
||||
event.interaction.guild.map { AnnouncementEmbed.view(pre, it, settings) }.flatMap { embed ->
|
||||
event.interaction.channel.flatMap {
|
||||
it.createMessage(msg).withEmbeds(embed)
|
||||
.then(event.followupEphemeral(getCommonMsg("success.generic", settings)))
|
||||
@@ -353,13 +358,13 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
else getMessage("confirm.failure.create", settings)
|
||||
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(msg, it) }
|
||||
}
|
||||
}
|
||||
} else {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("confirm.failure.missing", settings), it) }
|
||||
}
|
||||
} else {
|
||||
@@ -389,12 +394,12 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
wizard.start(pre)
|
||||
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("edit.success", settings), it) }
|
||||
}.switchIfEmpty(event.followupEphemeral(getCommonMsg("error.notFound.announcement", settings)))
|
||||
} else {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, wizard.get(settings.guildID)!!, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, wizard.get(settings.guildID)!!, settings) }
|
||||
.flatMap { event.followup(getMessage("error.wizard.started", settings), it) }
|
||||
}
|
||||
}.switchIfEmpty(event.followupEphemeral(getCommonMsg("error.perms.privileged", settings)))
|
||||
@@ -413,12 +418,12 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
wizard.start(pre)
|
||||
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, pre, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("copy.success", settings), it) }
|
||||
}.switchIfEmpty(event.followupEphemeral(getCommonMsg("error.notFound.announcement", settings)))
|
||||
} else {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.pre(it, wizard.get(settings.guildID)!!, settings) }
|
||||
.map { AnnouncementEmbed.pre(it, wizard.get(settings.guildID)!!, settings) }
|
||||
.flatMap { event.followup(getMessage("error.wizard.started", settings), it) }
|
||||
}
|
||||
}.switchIfEmpty(event.followupEphemeral(getCommonMsg("error.perms.privileged", settings)))
|
||||
@@ -460,11 +465,11 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
DatabaseManager.updateAnnouncement(announcement).flatMap {
|
||||
if (enabled) {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.view(announcement, it) }
|
||||
.map { AnnouncementEmbed.view(announcement, it, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("enable.success", settings), it) }
|
||||
} else {
|
||||
event.interaction.guild
|
||||
.flatMap { AnnouncementEmbed.view(announcement, it) }
|
||||
.map { AnnouncementEmbed.view(announcement, it, settings) }
|
||||
.flatMap { event.followupEphemeral(getMessage("disable.success", settings), it) }
|
||||
}
|
||||
}
|
||||
@@ -480,7 +485,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
|
||||
return DatabaseManager.getAnnouncement(announcementId, settings.guildID).flatMap { announcement ->
|
||||
val guildMono = event.interaction.guild.cache()
|
||||
val embedMono = guildMono.flatMap { AnnouncementEmbed.view(announcement, it) }
|
||||
val embedMono = guildMono.map { AnnouncementEmbed.view(announcement, it, settings) }
|
||||
val subscribersMono = guildMono.flatMap { it.buildMentions(announcement) }
|
||||
|
||||
Mono.zip(embedMono, subscribersMono).flatMap(TupleUtils.function { embed, subs ->
|
||||
@@ -536,7 +541,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
if (announcements.isEmpty()) {
|
||||
event.followupEphemeral(getMessage("list.success.none", settings))
|
||||
} else if (announcements.size == 1) {
|
||||
event.interaction.guild.flatMap { AnnouncementEmbed.view(announcements[0], it) }.flatMap {
|
||||
event.interaction.guild.map { AnnouncementEmbed.view(announcements[0], it, settings) }.flatMap {
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("list.success.one", settings))
|
||||
.addEmbed(it)
|
||||
@@ -551,7 +556,7 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
val successMessage = event.followupEphemeral(getMessage("list.success.many", settings, "$limit"))
|
||||
val condAns = guildMono.flatMapMany { guild ->
|
||||
Flux.fromIterable(announcements.subList(0, limit)).flatMap { a ->
|
||||
AnnouncementEmbed.condensed(a, guild).flatMap(event::followupEphemeral)
|
||||
event.followupEphemeral(AnnouncementEmbed.condensed(a, guild, settings))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -581,28 +586,24 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
announcement.subscriberUserIds.add(member.id.asString())
|
||||
|
||||
DatabaseManager.updateAnnouncement(announcement).flatMap {
|
||||
AnnouncementEmbed.view(announcement, guild).flatMap { embed ->
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("subscribe.success.other", settings, member.nicknameMention))
|
||||
.addEmbed(embed)
|
||||
.allowedMentions(AllowedMentions.suppressAll())
|
||||
.build()
|
||||
)
|
||||
}
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("subscribe.success.other", settings, member.nicknameMention))
|
||||
.addEmbed(AnnouncementEmbed.view(announcement, guild, settings))
|
||||
.allowedMentions(AllowedMentions.suppressAll())
|
||||
.build()
|
||||
)
|
||||
}
|
||||
}.switchIfEmpty(roleMono.flatMap { role ->
|
||||
announcement.subscriberRoleIds.remove(role.id.asString())
|
||||
announcement.subscriberRoleIds.add(role.id.asString())
|
||||
|
||||
DatabaseManager.updateAnnouncement(announcement).flatMap {
|
||||
AnnouncementEmbed.view(announcement, guild).flatMap { embed ->
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("subscribe.success.other", settings, role.mention))
|
||||
.addEmbed(embed)
|
||||
.allowedMentions(AllowedMentions.suppressAll())
|
||||
.build()
|
||||
)
|
||||
}
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("subscribe.success.other", settings, role.mention))
|
||||
.addEmbed(AnnouncementEmbed.view(announcement, guild, settings))
|
||||
.allowedMentions(AllowedMentions.suppressAll())
|
||||
.build()
|
||||
)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -610,9 +611,10 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
announcement.subscriberUserIds.add(event.interaction.user.id.asString())
|
||||
|
||||
DatabaseManager.updateAnnouncement(announcement).flatMap {
|
||||
AnnouncementEmbed.view(announcement, guild).flatMap { embed ->
|
||||
event.followupEphemeral(getMessage("subscribe.success.self", settings), embed)
|
||||
}
|
||||
event.followupEphemeral(
|
||||
getMessage("subscribe.success.self", settings),
|
||||
AnnouncementEmbed.view(announcement, guild, settings)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -639,36 +641,33 @@ class AnnouncementCommand(val wizard: Wizard<Announcement>) : SlashCommand {
|
||||
announcement.subscriberUserIds.remove(member.id.asString())
|
||||
|
||||
DatabaseManager.updateAnnouncement(announcement).flatMap {
|
||||
AnnouncementEmbed.view(announcement, guild).flatMap { embed ->
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("unsubscribe.success.other", settings, member.nicknameMention))
|
||||
.addEmbed(embed)
|
||||
.allowedMentions(AllowedMentions.suppressAll())
|
||||
.build()
|
||||
)
|
||||
}
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("unsubscribe.success.other", settings, member.nicknameMention))
|
||||
.addEmbed(AnnouncementEmbed.view(announcement, guild, settings))
|
||||
.allowedMentions(AllowedMentions.suppressAll())
|
||||
.build()
|
||||
)
|
||||
}
|
||||
}.switchIfEmpty(roleMono.flatMap { role ->
|
||||
announcement.subscriberRoleIds.remove(role.id.asString())
|
||||
|
||||
DatabaseManager.updateAnnouncement(announcement).flatMap {
|
||||
AnnouncementEmbed.view(announcement, guild).flatMap { embed ->
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("unsubscribe.success.other", settings, role.mention))
|
||||
.addEmbed(embed)
|
||||
.allowedMentions(AllowedMentions.suppressAll())
|
||||
.build()
|
||||
)
|
||||
}
|
||||
event.createFollowup(InteractionFollowupCreateSpec.builder()
|
||||
.content(getMessage("unsubscribe.success.other", settings, role.mention))
|
||||
.addEmbed(AnnouncementEmbed.view(announcement, guild, settings))
|
||||
.allowedMentions(AllowedMentions.suppressAll())
|
||||
.build()
|
||||
)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
announcement.subscriberUserIds.remove(event.interaction.user.id.asString())
|
||||
|
||||
DatabaseManager.updateAnnouncement(announcement).flatMap {
|
||||
AnnouncementEmbed.view(announcement, guild).flatMap { embed ->
|
||||
event.followupEphemeral(getMessage("unsubscribe.success.self", settings), embed)
|
||||
}
|
||||
event.followupEphemeral(
|
||||
getMessage("unsubscribe.success.self", settings),
|
||||
AnnouncementEmbed.view(announcement, guild, settings)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+251
-230
@@ -1,8 +1,6 @@
|
||||
package org.dreamexposure.discal.client.message.embed
|
||||
|
||||
import discord4j.common.util.Snowflake
|
||||
import discord4j.core.`object`.entity.Guild
|
||||
import discord4j.core.`object`.entity.channel.GuildChannel
|
||||
import discord4j.core.spec.EmbedCreateSpec
|
||||
import org.dreamexposure.discal.core.`object`.GuildSettings
|
||||
import org.dreamexposure.discal.core.`object`.announcement.Announcement
|
||||
@@ -18,264 +16,287 @@ import org.dreamexposure.discal.core.extensions.toMarkdown
|
||||
import org.dreamexposure.discal.core.utils.GlobalVal
|
||||
import org.dreamexposure.discal.core.utils.getCommonMsg
|
||||
import reactor.core.publisher.Mono
|
||||
import reactor.function.TupleUtils
|
||||
|
||||
object AnnouncementEmbed : EmbedMaker {
|
||||
fun determine(ann: Announcement, event: Event, guild: Guild): Mono<EmbedCreateSpec> {
|
||||
return guild.getSettings().flatMap { settings ->
|
||||
return guild.getSettings().map { settings ->
|
||||
when (settings.announcementStyle) {
|
||||
AnnouncementStyle.FULL -> full(ann, event, guild)
|
||||
AnnouncementStyle.SIMPLE -> simple(ann, event, guild)
|
||||
AnnouncementStyle.EVENT -> event(ann, event, guild)
|
||||
AnnouncementStyle.FULL -> full(ann, event, guild, settings)
|
||||
AnnouncementStyle.SIMPLE -> simple(ann, event, guild, settings)
|
||||
AnnouncementStyle.EVENT -> event(ann, event, guild, settings)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun full(ann: Announcement, event: Event, guild: Guild): Mono<EmbedCreateSpec> {
|
||||
return guild.getSettings().map { settings ->
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.color(event.color.asColor())
|
||||
.title(getMessage("announcement", "full.title", settings))
|
||||
private fun full(ann: Announcement, event: Event, guild: Guild, settings: GuildSettings): EmbedCreateSpec {
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.color(event.color.asColor())
|
||||
.title(getMessage("announcement", "full.title", settings))
|
||||
|
||||
if (event.name.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "full.field.name", settings), event.name.toMarkdown().embedFieldSafe(), false)
|
||||
if (event.description.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "full.field.desc", settings), event.description.toMarkdown().embedFieldSafe(), false)
|
||||
if (event.name.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "full.field.name", settings),
|
||||
event.name.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
if (event.description.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "full.field.desc", settings),
|
||||
event.description.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
builder.addField(
|
||||
getMessage("announcement", "full.field.start", settings),
|
||||
event.start.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
builder.addField(
|
||||
getMessage("announcement", "full.field.end", settings),
|
||||
event.end.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
builder.addField(
|
||||
getMessage("announcement", "full.field.start", settings),
|
||||
event.start.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
builder.addField(
|
||||
getMessage("announcement", "full.field.end", settings),
|
||||
event.end.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
|
||||
if (event.location.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "full.field.location", settings), event.location.toMarkdown().embedFieldSafe(), false)
|
||||
if (event.location.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "full.field.location", settings),
|
||||
event.location.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
if (ann.info.isNotBlank() && !ann.info.equals("None", true))
|
||||
builder.addField(getMessage("announcement", "full.field.info", settings), ann.info.toMarkdown().embedFieldSafe(), false)
|
||||
if (ann.info.isNotBlank() && !ann.info.equals("None", true)) builder.addField(
|
||||
getMessage("announcement", "full.field.info", settings),
|
||||
ann.info.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
builder.addField(
|
||||
getMessage("announcement", "full.field.calendar", settings),
|
||||
"${event.calendar.calendarNumber}",
|
||||
true
|
||||
)
|
||||
builder.addField(getMessage("announcement", "full.field.event", settings), event.eventId, true)
|
||||
builder.addField(
|
||||
getMessage("announcement", "full.field.calendar", settings),
|
||||
"${event.calendar.calendarNumber}",
|
||||
true
|
||||
)
|
||||
builder.addField(getMessage("announcement", "full.field.event", settings), event.eventId, true)
|
||||
|
||||
if (event.image.isNotBlank())
|
||||
builder.image(event.image)
|
||||
if (event.image.isNotBlank())
|
||||
builder.image(event.image)
|
||||
|
||||
builder.footer(getMessage("announcement", "full.footer", settings, ann.id.toString()), null)
|
||||
builder.footer(getMessage("announcement", "full.footer", settings, ann.id), null)
|
||||
|
||||
builder.build()
|
||||
return builder.build()
|
||||
}
|
||||
|
||||
private fun simple(ann: Announcement, event: Event, guild: Guild, settings: GuildSettings): EmbedCreateSpec {
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.color(event.color.asColor())
|
||||
.title(getMessage("announcement", "simple.title", settings))
|
||||
|
||||
if (event.name.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "simple.field.name", settings),
|
||||
event.name.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
if (event.description.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "simple.field.desc", settings),
|
||||
event.description.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
builder.addField(
|
||||
getMessage("announcement", "simple.field.start", settings),
|
||||
event.start.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
|
||||
if (event.location.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "simple.field.location", settings),
|
||||
event.location.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
if (ann.info.isNotBlank() && !ann.info.equals("None", true)) builder.addField(
|
||||
getMessage("announcement", "simple.field.info", settings),
|
||||
ann.info.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
if (event.image.isNotEmpty())
|
||||
builder.image(event.image)
|
||||
|
||||
builder.footer(getMessage("announcement", "simple.footer", settings, ann.id), null)
|
||||
|
||||
return builder.build()
|
||||
}
|
||||
|
||||
fun event(ann: Announcement, event: Event, guild: Guild, settings: GuildSettings): EmbedCreateSpec {
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.color(event.color.asColor())
|
||||
.title(getMessage("announcement", "event.title", settings))
|
||||
|
||||
if (event.name.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "event.field.name", settings),
|
||||
event.name.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
if (event.description.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "event.field.desc", settings),
|
||||
event.description.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
builder.addField(
|
||||
getMessage("announcement", "event.field.start", settings),
|
||||
event.start.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
builder.addField(
|
||||
getMessage("announcement", "event.field.end", settings),
|
||||
event.end.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
|
||||
if (event.location.isNotBlank()) builder.addField(
|
||||
getMessage("announcement", "event.field.location", settings),
|
||||
event.location.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
builder.addField(
|
||||
getMessage("announcement", "event.field.calendar", settings),
|
||||
"${event.calendar.calendarNumber}",
|
||||
true
|
||||
)
|
||||
builder.addField(getMessage("announcement", "event.field.event", settings), event.eventId, true)
|
||||
|
||||
if (ann.info.isNotBlank() && !ann.info.equals("None", true)) builder.addField(
|
||||
getMessage("announcement", "event.field.info", settings),
|
||||
ann.info.toMarkdown().embedFieldSafe(),
|
||||
false
|
||||
)
|
||||
|
||||
if (event.image.isNotBlank())
|
||||
builder.image(event.image)
|
||||
|
||||
builder.footer(getMessage("announcement", "event.footer", settings, ann.id), null)
|
||||
|
||||
return builder.build()
|
||||
}
|
||||
|
||||
fun condensed(ann: Announcement, guild: Guild, settings: GuildSettings): EmbedCreateSpec {
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.title(getMessage("announcement", "con.title", settings))
|
||||
.addField(getMessage("announcement", "con.field.id", settings), ann.id, false)
|
||||
.addField(getMessage("announcement", "con.field.time", settings), condensedTime(ann), true)
|
||||
.addField(getMessage("announcement", "con.field.enabled", settings), "${ann.enabled}", true)
|
||||
.footer(getMessage("announcement", "con.footer", settings, ann.type.name, ann.modifier.name), null)
|
||||
|
||||
if (ann.type == AnnouncementType.COLOR)
|
||||
builder.color(ann.eventColor.asColor())
|
||||
else
|
||||
builder.color(GlobalVal.discalColor)
|
||||
|
||||
return builder.build()
|
||||
}
|
||||
|
||||
fun view(ann: Announcement, guild: Guild, settings: GuildSettings): EmbedCreateSpec {
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.title(getMessage("announcement", "view.title", settings))
|
||||
.addField(getMessage("announcement", "view.field.type", settings), ann.type.name, true)
|
||||
.addField(getMessage("announcement", "view.field.modifier", settings), ann.modifier.name, true)
|
||||
.addField(getMessage("announcement", "view.field.channel", settings), "<${ann.announcementChannelId}>", false)
|
||||
.addField(getMessage("announcement", "view.field.hours", settings), "${ann.hoursBefore}", true)
|
||||
.addField(getMessage("announcement", "view.field.minutes", settings), "${ann.minutesBefore}", true)
|
||||
|
||||
if (ann.info.isNotBlank() && !ann.info.equals("None", true)) {
|
||||
builder.addField(getMessage("announcement", "view.field.info", settings), ann.info.toMarkdown().embedFieldSafe(), false)
|
||||
}
|
||||
|
||||
builder.addField(getMessage("announcement", "view.field.calendar", settings), "${ann.calendarNumber}", true)
|
||||
if (ann.type == AnnouncementType.RECUR || ann.type == AnnouncementType.SPECIFIC)
|
||||
builder.addField(getMessage("announcement", "view.field.event", settings), ann.eventId, true)
|
||||
|
||||
if (ann.type == AnnouncementType.COLOR) {
|
||||
builder.color(ann.eventColor.asColor())
|
||||
builder.addField(getMessage("announcement", "view.field.color", settings), ann.eventColor.name, true)
|
||||
} else
|
||||
builder.color(GlobalVal.discalColor)
|
||||
|
||||
return builder.addField(getMessage("announcement", "view.field.id", settings), ann.id, false)
|
||||
.addField(getMessage("announcement", "view.field.enabled", settings), "${ann.enabled}", true)
|
||||
.addField(getMessage("announcement", "view.field.publish", settings), "${ann.publish}", true)
|
||||
.build()
|
||||
}
|
||||
|
||||
fun simple(ann: Announcement, event: Event, guild: Guild): Mono<EmbedCreateSpec> {
|
||||
return guild.getSettings().map { settings ->
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.color(event.color.asColor())
|
||||
.title(getMessage("announcement", "simple.title", settings))
|
||||
fun pre(guild: Guild, ann: Announcement, settings: GuildSettings): EmbedCreateSpec {
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.title(getMessage("announcement", "wizard.title", settings))
|
||||
.footer(getMessage("announcement", "wizard.footer", settings), null)
|
||||
.color(ann.eventColor.asColor())
|
||||
//fields
|
||||
.addField(getMessage("announcement", "wizard.field.type", settings), ann.type.name, true)
|
||||
.addField(getMessage("announcement", "wizard.field.modifier", settings), ann.modifier.name, true)
|
||||
|
||||
if (event.name.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "simple.field.name", settings), event.name.toMarkdown().embedFieldSafe(), false)
|
||||
if (event.description.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "simple.field.desc", settings), event.description.toMarkdown().embedFieldSafe(), false)
|
||||
|
||||
builder.addField(
|
||||
getMessage("announcement", "simple.field.start", settings),
|
||||
event.start.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
|
||||
if (event.location.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "simple.field.location", settings), event.location.toMarkdown().embedFieldSafe(), false)
|
||||
|
||||
if (ann.info.isNotBlank() && !ann.info.equals("None", true))
|
||||
builder.addField(getMessage("announcement", "simple.field.info", settings), ann.info.toMarkdown().embedFieldSafe(), false)
|
||||
|
||||
if (event.image.isNotEmpty())
|
||||
builder.image(event.image)
|
||||
|
||||
builder.footer(getMessage("announcement", "simple.footer", settings, ann.id.toString()), null)
|
||||
|
||||
builder.build()
|
||||
}
|
||||
}
|
||||
|
||||
fun event(ann: Announcement, event: Event, guild: Guild): Mono<EmbedCreateSpec> {
|
||||
return guild.getSettings().map { settings ->
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.color(event.color.asColor())
|
||||
.title(getMessage("announcement", "event.title", settings))
|
||||
|
||||
if (event.name.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "event.field.name", settings), event.name.toMarkdown().embedFieldSafe(), false)
|
||||
if (event.description.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "event.field.desc", settings), event.description.toMarkdown().embedFieldSafe(), false)
|
||||
|
||||
builder.addField(
|
||||
getMessage("announcement", "event.field.start", settings),
|
||||
event.start.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
builder.addField(
|
||||
getMessage("announcement", "event.field.end", settings),
|
||||
event.end.asDiscordTimestamp(LONG_DATETIME),
|
||||
true
|
||||
)
|
||||
|
||||
if (event.location.isNotBlank())
|
||||
builder.addField(getMessage("announcement", "event.field.location", settings), event.location.toMarkdown().embedFieldSafe(), false)
|
||||
|
||||
builder.addField(
|
||||
getMessage("announcement", "event.field.calendar", settings),
|
||||
"${event.calendar.calendarNumber}",
|
||||
true
|
||||
)
|
||||
builder.addField(getMessage("announcement", "event.field.event", settings), event.eventId, true)
|
||||
|
||||
if (ann.info.isNotBlank() && !ann.info.equals("None", true))
|
||||
builder.addField(getMessage("announcement", "event.field.info", settings), ann.info.toMarkdown().embedFieldSafe(), false)
|
||||
|
||||
if (event.image.isNotBlank()) {
|
||||
builder.image(event.image)
|
||||
}
|
||||
|
||||
builder.footer(getMessage("announcement", "event.footer", settings, ann.id.toString()), null)
|
||||
|
||||
builder.build()
|
||||
}
|
||||
}
|
||||
|
||||
fun condensed(ann: Announcement, guild: Guild): Mono<EmbedCreateSpec> {
|
||||
return guild.getSettings().map { settings ->
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.title(getMessage("announcement", "con.title", settings))
|
||||
.addField(getMessage("announcement", "con.field.id", settings), ann.id.toString(), false)
|
||||
.addField(getMessage("announcement", "con.field.time", settings), condensedTime(ann), true)
|
||||
.addField(getMessage("announcement", "con.field.enabled", settings), "${ann.enabled}", true)
|
||||
.footer(getMessage("announcement", "con.footer", settings, ann.type.name, ann.modifier.name), null)
|
||||
|
||||
if (ann.type == AnnouncementType.COLOR)
|
||||
builder.color(ann.eventColor.asColor())
|
||||
else
|
||||
builder.color(GlobalVal.discalColor)
|
||||
|
||||
builder.build()
|
||||
}
|
||||
}
|
||||
|
||||
fun view(ann: Announcement, guild: Guild): Mono<EmbedCreateSpec> {
|
||||
val channelMono = guild
|
||||
.getChannelById(Snowflake.of(ann.announcementChannelId))
|
||||
.map(GuildChannel::getName)
|
||||
|
||||
|
||||
return Mono.zip(guild.getSettings(), channelMono).map(TupleUtils.function { settings, channel ->
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.title(getMessage("announcement", "view.title", settings))
|
||||
.addField(getMessage("announcement", "view.field.type", settings), ann.type.name, true)
|
||||
.addField(getMessage("announcement", "view.field.modifier", settings), ann.modifier.name, true)
|
||||
.addField(getMessage("announcement", "view.field.channel", settings), channel, false)
|
||||
.addField(getMessage("announcement", "view.field.hours", settings), "${ann.hoursBefore}", true)
|
||||
.addField(getMessage("announcement", "view.field.minutes", settings), "${ann.minutesBefore}", true)
|
||||
|
||||
if (ann.info.isNotBlank() && !ann.info.equals("None", true)) {
|
||||
builder.addField(getMessage("announcement", "view.field.info", settings), ann.info.toMarkdown().embedFieldSafe(), false)
|
||||
}
|
||||
|
||||
builder.addField(getMessage("announcement", "view.field.calendar", settings), "${ann.calendarNumber}", true)
|
||||
if (ann.type == AnnouncementType.RECUR || ann.type == AnnouncementType.SPECIFIC)
|
||||
builder.addField(getMessage("announcement", "view.field.event", settings), ann.eventId, true)
|
||||
|
||||
if (ann.type == AnnouncementType.COLOR) {
|
||||
builder.color(ann.eventColor.asColor())
|
||||
builder.addField(getMessage("announcement", "view.field.color", settings), ann.eventColor.name, true)
|
||||
} else
|
||||
builder.color(GlobalVal.discalColor)
|
||||
|
||||
builder.addField(getMessage("announcement", "view.field.id", settings), ann.id.toString(), false)
|
||||
.addField(getMessage("announcement", "view.field.enabled", settings), "${ann.enabled}", true)
|
||||
.addField(getMessage("announcement", "view.field.publish", settings), "${ann.publish}", true)
|
||||
.build()
|
||||
})
|
||||
}
|
||||
|
||||
fun pre(guild: Guild, ann: Announcement, settings: GuildSettings): Mono<EmbedCreateSpec> {
|
||||
val channelMono = if (ann.announcementChannelId == "N/a") Mono.just(getCommonMsg("embed.unset", settings))
|
||||
else guild.getChannelById(Snowflake.of(ann.announcementChannelId)).map(GuildChannel::getName)
|
||||
|
||||
return channelMono.map { channel ->
|
||||
val builder = defaultBuilder(guild, settings)
|
||||
.title(getMessage("announcement", "wizard.title", settings))
|
||||
.footer(getMessage("announcement", "wizard.footer", settings), null)
|
||||
.color(ann.eventColor.asColor())
|
||||
|
||||
builder.addField(getMessage("announcement", "wizard.field.type", settings), ann.type.name, true)
|
||||
builder.addField(getMessage("announcement", "wizard.field.modifier", settings), ann.modifier.name, true)
|
||||
|
||||
if (ann.type == AnnouncementType.COLOR) {
|
||||
if (ann.eventColor == EventColor.NONE) builder.addField(
|
||||
getMessage("announcement", "wizard.field.color", settings),
|
||||
getCommonMsg("embed.unset", settings),
|
||||
false
|
||||
) else builder.addField(
|
||||
getMessage("announcement", "wizard.field.color", settings),
|
||||
ann.eventColor.name,
|
||||
false
|
||||
)
|
||||
}
|
||||
|
||||
if (ann.type == AnnouncementType.SPECIFIC || ann.type == AnnouncementType.RECUR) {
|
||||
if (ann.eventId == "N/a") builder.addField(
|
||||
getMessage("announcement", "wizard.field.event", settings),
|
||||
getCommonMsg("embed.unset", settings),
|
||||
false
|
||||
) else builder.addField(
|
||||
getMessage("announcement", "wizard.field.event", settings),
|
||||
ann.eventId,
|
||||
false
|
||||
)
|
||||
}
|
||||
|
||||
if (ann.info == "None") builder.addField(
|
||||
getMessage("announcement", "wizard.field.info", settings),
|
||||
if (ann.type == AnnouncementType.COLOR) {
|
||||
if (ann.eventColor == EventColor.NONE) builder.addField(
|
||||
getMessage("announcement", "wizard.field.color", settings),
|
||||
getCommonMsg("embed.unset", settings),
|
||||
false
|
||||
) else builder.addField(
|
||||
getMessage("announcement", "wizard.field.info", settings),
|
||||
ann.info.embedFieldSafe().toMarkdown(),
|
||||
getMessage("announcement", "wizard.field.color", settings),
|
||||
ann.eventColor.name,
|
||||
false
|
||||
)
|
||||
}
|
||||
|
||||
builder.addField(getMessage("announcement", "wizard.field.channel", settings), channel, true)
|
||||
builder.addField(getMessage("announcement", "wizard.field.minutes", settings), "${ann.minutesBefore}", true)
|
||||
builder.addField(getMessage("announcement", "wizard.field.hours", settings), "${ann.hoursBefore}", true)
|
||||
|
||||
if (ann.editing) builder.addField(getMessage("announcement", "wizard.field.id", settings), ann.id, false)
|
||||
else builder.addField(
|
||||
getMessage("announcement", "wizard.field.id", settings),
|
||||
if (ann.type == AnnouncementType.SPECIFIC || ann.type == AnnouncementType.RECUR) {
|
||||
if (ann.eventId == "N/a") builder.addField(
|
||||
getMessage("announcement", "wizard.field.event", settings),
|
||||
getCommonMsg("embed.unset", settings),
|
||||
false
|
||||
) else builder.addField(
|
||||
getMessage("announcement", "wizard.field.event", settings),
|
||||
ann.eventId,
|
||||
false
|
||||
)
|
||||
|
||||
builder.addField(getMessage("announcement", "wizard.field.publish", settings), "${ann.publish}", true)
|
||||
builder.addField(getMessage("announcement", "wizard.field.enabled", settings), "${ann.enabled}", true)
|
||||
builder.addField(getMessage("announcement", "wizard.field.calendar", settings), "${ann.calendarNumber}", true)
|
||||
|
||||
val warnings = ann.generateWarnings(settings)
|
||||
if (warnings.isNotEmpty()) {
|
||||
val warnText = "```fix\n${warnings.joinToString("\n")}\n```"
|
||||
builder.addField(getMessage("announcement", "wizard.field.warnings", settings), warnText, false)
|
||||
}
|
||||
|
||||
builder.build()
|
||||
}
|
||||
|
||||
if (ann.info == "None") builder.addField(
|
||||
getMessage("announcement", "wizard.field.info", settings),
|
||||
getCommonMsg("embed.unset", settings),
|
||||
false
|
||||
) else builder.addField(
|
||||
getMessage("announcement", "wizard.field.info", settings),
|
||||
ann.info.embedFieldSafe().toMarkdown(),
|
||||
false
|
||||
)
|
||||
|
||||
if (ann.announcementChannelId == "N/a") builder.addField(
|
||||
getMessage("announcement", "wizard.field.channel", settings),
|
||||
getCommonMsg("embed.unset", settings),
|
||||
false
|
||||
) else builder.addField(
|
||||
getMessage("announcement", "wizard.field.channel", settings),
|
||||
"<#${ann.announcementChannelId}>",
|
||||
false
|
||||
)
|
||||
|
||||
builder.addField(getMessage("announcement", "wizard.field.minutes", settings), "${ann.minutesBefore}", true)
|
||||
builder.addField(getMessage("announcement", "wizard.field.hours", settings), "${ann.hoursBefore}", true)
|
||||
|
||||
if (ann.editing) builder.addField(getMessage("announcement", "wizard.field.id", settings), ann.id, false)
|
||||
else builder.addField(
|
||||
getMessage("announcement", "wizard.field.id", settings),
|
||||
getCommonMsg("embed.unset", settings),
|
||||
false
|
||||
)
|
||||
|
||||
builder.addField(getMessage("announcement", "wizard.field.publish", settings), "${ann.publish}", true)
|
||||
builder.addField(getMessage("announcement", "wizard.field.enabled", settings), "${ann.enabled}", true)
|
||||
builder.addField(getMessage("announcement", "wizard.field.calendar", settings), "${ann.calendarNumber}", true)
|
||||
|
||||
val warnings = ann.generateWarnings(settings)
|
||||
if (warnings.isNotEmpty()) {
|
||||
val warnText = "```fix\n${warnings.joinToString("\n")}\n```"
|
||||
builder.addField(getMessage("announcement", "wizard.field.warnings", settings), warnText, false)
|
||||
}
|
||||
|
||||
return builder.build()
|
||||
}
|
||||
|
||||
private fun condensedTime(a: Announcement): String = "${a.hoursBefore}H${a.minutesBefore}m"
|
||||
|
||||
+3
-3
@@ -94,7 +94,7 @@ class AnnouncementService : ApplicationRunner {
|
||||
.filterWhen { isInRange(announcement, it) }
|
||||
.flatMap { sendAnnouncement(guild, announcement, it) }
|
||||
// Delete specific announcement after posted
|
||||
.flatMap { DatabaseManager.deleteAnnouncement(announcement.id.toString()) }
|
||||
.flatMap { DatabaseManager.deleteAnnouncement(announcement.id) }
|
||||
.then()
|
||||
}
|
||||
UNIVERSAL -> {
|
||||
@@ -147,7 +147,7 @@ class AnnouncementService : ApplicationRunner {
|
||||
if (difference < 0) {
|
||||
//event past, delete if specific type
|
||||
if (announcement.type == SPECIFIC) {
|
||||
return DatabaseManager.deleteAnnouncement(announcement.id.toString())
|
||||
return DatabaseManager.deleteAnnouncement(announcement.id)
|
||||
.thenReturn(false)
|
||||
}
|
||||
return Mono.just(false)
|
||||
@@ -180,7 +180,7 @@ class AnnouncementService : ApplicationRunner {
|
||||
Mono.just(it)
|
||||
.filter(HttpResponseStatus.NOT_FOUND::equals)
|
||||
// Channel announcement should post to was deleted
|
||||
.flatMap { DatabaseManager.deleteAnnouncement(announcement.id.toString()) }
|
||||
.flatMap { DatabaseManager.deleteAnnouncement(announcement.id) }
|
||||
.then(Mono.empty())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user