1
0
mirror of https://github.com/InsanusMokrassar/TelegramBotAPI.git synced 2025-09-15 21:29:25 +00:00

add support of can_manage_direct_messages right

This commit is contained in:
2025-09-09 16:58:47 +06:00
parent 658c19092c
commit 23bfe02e6f
7 changed files with 29 additions and 11 deletions

View File

@@ -26,7 +26,8 @@ public suspend fun TelegramBot.promoteChatMember(
canManageTopics: Boolean? = null, canManageTopics: Boolean? = null,
canPostStories: Boolean? = null, canPostStories: Boolean? = null,
canEditStories: Boolean? = null, canEditStories: Boolean? = null,
canDeleteStories: Boolean? = null canDeleteStories: Boolean? = null,
canManageDirectMessages: Boolean? = null
): Boolean = execute( ): Boolean = execute(
PromoteChatMember( PromoteChatMember(
chatId = chatId, chatId = chatId,
@@ -46,7 +47,8 @@ public suspend fun TelegramBot.promoteChatMember(
canManageTopics = canManageTopics, canManageTopics = canManageTopics,
canPostStories = canPostStories, canPostStories = canPostStories,
canEditStories = canEditStories, canEditStories = canEditStories,
canDeleteStories = canDeleteStories canDeleteStories = canDeleteStories,
canManageDirectMessages = canManageDirectMessages,
) )
) )
@@ -69,7 +71,8 @@ public suspend fun TelegramBot.promoteChatMember(
canManageTopics: Boolean? = null, canManageTopics: Boolean? = null,
canPostStories: Boolean? = null, canPostStories: Boolean? = null,
canEditStories: Boolean? = null, canEditStories: Boolean? = null,
canDeleteStories: Boolean? = null canDeleteStories: Boolean? = null,
canManageDirectMessages: Boolean? = null
): Boolean = promoteChatMember( ): Boolean = promoteChatMember(
chat.id, chat.id,
userId, userId,
@@ -88,7 +91,8 @@ public suspend fun TelegramBot.promoteChatMember(
canManageTopics = canManageTopics, canManageTopics = canManageTopics,
canPostStories = canPostStories, canPostStories = canPostStories,
canEditStories = canEditStories, canEditStories = canEditStories,
canDeleteStories = canDeleteStories canDeleteStories = canDeleteStories,
canManageDirectMessages = canManageDirectMessages,
) )
@Warning("This method is too common. Use it with caution") @Warning("This method is too common. Use it with caution")
@@ -110,7 +114,8 @@ public suspend fun TelegramBot.promoteChatMember(
canManageTopics: Boolean? = null, canManageTopics: Boolean? = null,
canPostStories: Boolean? = null, canPostStories: Boolean? = null,
canEditStories: Boolean? = null, canEditStories: Boolean? = null,
canDeleteStories: Boolean? = null canDeleteStories: Boolean? = null,
canManageDirectMessages: Boolean? = null
): Boolean = promoteChatMember( ): Boolean = promoteChatMember(
chatId, chatId,
user.id, user.id,
@@ -129,7 +134,8 @@ public suspend fun TelegramBot.promoteChatMember(
canManageTopics = canManageTopics, canManageTopics = canManageTopics,
canPostStories = canPostStories, canPostStories = canPostStories,
canEditStories = canEditStories, canEditStories = canEditStories,
canDeleteStories = canDeleteStories canDeleteStories = canDeleteStories,
canManageDirectMessages = canManageDirectMessages,
) )
@Warning("This method is too common. Use it with caution") @Warning("This method is too common. Use it with caution")
@@ -151,7 +157,8 @@ public suspend fun TelegramBot.promoteChatMember(
canManageTopics: Boolean? = null, canManageTopics: Boolean? = null,
canPostStories: Boolean? = null, canPostStories: Boolean? = null,
canEditStories: Boolean? = null, canEditStories: Boolean? = null,
canDeleteStories: Boolean? = null canDeleteStories: Boolean? = null,
canManageDirectMessages: Boolean? = null
): Boolean = promoteChatMember( ): Boolean = promoteChatMember(
chat.id, chat.id,
user.id, user.id,
@@ -170,5 +177,6 @@ public suspend fun TelegramBot.promoteChatMember(
canManageTopics = canManageTopics, canManageTopics = canManageTopics,
canPostStories = canPostStories, canPostStories = canPostStories,
canEditStories = canEditStories, canEditStories = canEditStories,
canDeleteStories = canDeleteStories canDeleteStories = canDeleteStories,
canManageDirectMessages = canManageDirectMessages,
) )

View File

@@ -46,7 +46,9 @@ data class PromoteChatMember(
@SerialName(canEditStoriesField) @SerialName(canEditStoriesField)
private val canEditStories: Boolean? = null, private val canEditStories: Boolean? = null,
@SerialName(canDeleteStoriesField) @SerialName(canDeleteStoriesField)
private val canDeleteStories: Boolean? = null private val canDeleteStories: Boolean? = null,
@SerialName(canManageDirectMessagesField)
private val canManageDirectMessages: Boolean? = null,
) : ChatMemberRequest<Boolean>, UntilDate { ) : ChatMemberRequest<Boolean>, UntilDate {
override fun method(): String = "promoteChatMember" override fun method(): String = "promoteChatMember"
override val resultDeserializer: DeserializationStrategy<Boolean> override val resultDeserializer: DeserializationStrategy<Boolean>

View File

@@ -269,6 +269,7 @@ const val canManageTopicsField = "can_manage_topics"
const val canPostStoriesField = "can_post_stories" const val canPostStoriesField = "can_post_stories"
const val canEditStoriesField = "can_edit_stories" const val canEditStoriesField = "can_edit_stories"
const val canDeleteStoriesField = "can_delete_stories" const val canDeleteStoriesField = "can_delete_stories"
const val canManageDirectMessagesField = "can_manage_direct_messages"
const val captionEntitiesField = "caption_entities" const val captionEntitiesField = "caption_entities"
const val hasSpoilerField = "has_spoiler" const val hasSpoilerField = "has_spoiler"
const val showCaptionAboveMediaField = "show_caption_above_media" const val showCaptionAboveMediaField = "show_caption_above_media"

View File

@@ -45,7 +45,9 @@ data class AdministratorChatMemberImpl(
@SerialName(canEditStoriesField) @SerialName(canEditStoriesField)
override val canEditStories: Boolean = false, override val canEditStories: Boolean = false,
@SerialName(canDeleteStoriesField) @SerialName(canDeleteStoriesField)
override val canDeleteStories: Boolean = false override val canDeleteStories: Boolean = false,
@SerialName(canManageDirectMessagesField)
override val canManageDirectMessages: Boolean = false,
) : AdministratorChatMember { ) : AdministratorChatMember {
@SerialName(statusField) @SerialName(statusField)
@Required @Required

View File

@@ -19,6 +19,7 @@ sealed interface ChatAdministratorRights : SpecialChatAdministratorRights {
val canPostStories: Boolean val canPostStories: Boolean
val canEditStories: Boolean val canEditStories: Boolean
val canDeleteStories: Boolean val canDeleteStories: Boolean
val canManageDirectMessages: Boolean
companion object { companion object {
operator fun invoke( operator fun invoke(

View File

@@ -35,5 +35,7 @@ data class ChatCommonAdministratorRights(
@SerialName(canEditStoriesField) @SerialName(canEditStoriesField)
override val canEditStories: Boolean = false, override val canEditStories: Boolean = false,
@SerialName(canDeleteStoriesField) @SerialName(canDeleteStoriesField)
override val canDeleteStories: Boolean = false override val canDeleteStories: Boolean = false,
@SerialName(canManageDirectMessagesField)
override val canManageDirectMessages: Boolean = false,
) : ChatAdministratorRights ) : ChatAdministratorRights

View File

@@ -46,6 +46,8 @@ data class OwnerChatMember(
override val canEditStories: Boolean = true override val canEditStories: Boolean = true
@Transient @Transient
override val canDeleteStories: Boolean = true override val canDeleteStories: Boolean = true
@Transient
override val canManageDirectMessages: Boolean = true
@SerialName(statusField) @SerialName(statusField)
@Required @Required