send untiered new posts to zulip

pull/9771/head
Thibault Duplessis 2021-09-10 15:44:34 +02:00
parent ff59cdc364
commit bb82ab1846
3 changed files with 27 additions and 6 deletions

View File

@ -110,6 +110,18 @@ final class IrcApi(
.userLink(user)}"
)
def ublogPost(
user: User,
id: String,
slug: String,
title: String
): Funit =
zulip(_.blog, "non-tiered new posts")(
s"${markdown
.lichessLink(s"/@/${user.username}/blog/$slug/$id", title)} by ${markdown
.userLink(user)}"
)
def userAppeal(user: User, mod: Holder): Funit =
zulip
.sendAndGetLink(_.mod.adminAppeal, "/" + user.username)(

View File

@ -91,6 +91,7 @@ private object ZulipClient {
}
val general = "general"
val broadcast = "content-broadcast"
val blog = "content-blog"
val image = "mod-comms-image"
type Selector = ZulipClient.stream.type => String
}

View File

@ -44,12 +44,12 @@ final class UblogApi(
} >>
sendImageToZulip(user, post) >>- {
lila.common.Bus.publish(UblogPost.Create(post), "ublogPost")
if (blog.visible)
timeline ! {
Propagate(
lila.hub.actorApi.timeline.UblogPost(user.id, post.id.value, post.slug, post.title)
) toFollowersOf user.id
}
if (blog.visible) {
timeline ! Propagate(
lila.hub.actorApi.timeline.UblogPost(user.id, post.id.value, post.slug, post.title)
).toFollowersOf(user.id)
if (!blog.modTier.isDefined) sendPostToZulip(user, blog, post).unit
}
}
def getUserBlog(user: User, insertMissing: Boolean = false): Fu[UblogBlog] =
@ -113,6 +113,14 @@ final class UblogApi(
)
}
private def sendPostToZulip(user: User, blog: UblogBlog, post: UblogPost): Funit =
irc.ublogPost(
user,
id = post.id.value,
slug = post.slug,
title = post.title
)
def liveLightsByIds(ids: List[UblogPost.Id]): Fu[List[UblogPost.LightPost]] =
colls.post
.find($inIds(ids) ++ $doc("live" -> true), lightPostProjection.some)