mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Added the field can_manage_topics
This commit is contained in:
parent
c802e2f27a
commit
e2cc8ef8c1
7 changed files with 22 additions and 3 deletions
|
|
@ -1450,7 +1450,7 @@ class PromoteChatMember(BaseResponse):
|
|||
|
||||
__slots__ = ('chat_id', 'user_id', 'can_change_info', 'can_post_messages', 'can_edit_messages',
|
||||
'can_delete_messages', 'can_invite_users', 'can_restrict_members', 'can_pin_messages',
|
||||
'can_promote_members')
|
||||
'can_manage_topics', 'can_promote_members')
|
||||
|
||||
method = api.Methods.PROMOTE_CHAT_MEMBER
|
||||
|
||||
|
|
@ -1463,6 +1463,7 @@ class PromoteChatMember(BaseResponse):
|
|||
can_invite_users: Optional[Boolean] = None,
|
||||
can_restrict_members: Optional[Boolean] = None,
|
||||
can_pin_messages: Optional[Boolean] = None,
|
||||
can_manage_topics: Optional[Boolean] = None,
|
||||
can_promote_members: Optional[Boolean] = None):
|
||||
"""
|
||||
:param chat_id: Union[Integer, String] - Unique identifier for the target chat
|
||||
|
|
@ -1477,6 +1478,8 @@ class PromoteChatMember(BaseResponse):
|
|||
:param can_invite_users: Boolean - Pass True, if the administrator can invite new users to the chat
|
||||
:param can_restrict_members: Boolean - Pass True, if the administrator can restrict, ban or unban chat members
|
||||
:param can_pin_messages: Boolean - Pass True, if the administrator can pin messages, supergroups only
|
||||
:param can_manage_topics: Boolean - Pass True if the user is allowed to create, rename, close, and reopen forum
|
||||
topics, supergroups only
|
||||
:param can_promote_members: Boolean - Pass True, if the administrator can add new administrators
|
||||
with a subset of his own privileges or demote administrators that he has promoted,
|
||||
directly or indirectly (promoted by administrators that were appointed by him)
|
||||
|
|
@ -1490,6 +1493,7 @@ class PromoteChatMember(BaseResponse):
|
|||
self.can_invite_users = can_invite_users
|
||||
self.can_restrict_members = can_restrict_members
|
||||
self.can_pin_messages = can_pin_messages
|
||||
self.can_manage_topics = can_manage_topics
|
||||
self.can_promote_members = can_promote_members
|
||||
|
||||
def prepare(self):
|
||||
|
|
@ -1503,6 +1507,7 @@ class PromoteChatMember(BaseResponse):
|
|||
'can_invite_users': self.can_invite_users,
|
||||
'can_restrict_members': self.can_restrict_members,
|
||||
'can_pin_messages': self.can_pin_messages,
|
||||
'can_manage_topics': self.can_manage_topics,
|
||||
'can_promote_members': self.can_promote_members
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ class ChatAdministratorRights(base.TelegramObject):
|
|||
can_post_messages: base.Boolean = fields.Field()
|
||||
can_edit_messages: base.Boolean = fields.Field()
|
||||
can_pin_messages: base.Boolean = fields.Field()
|
||||
can_manage_topics: base.Boolean = fields.Field()
|
||||
|
||||
def __init__(self,
|
||||
is_anonymous: base.Boolean = None,
|
||||
|
|
@ -31,7 +32,8 @@ class ChatAdministratorRights(base.TelegramObject):
|
|||
can_invite_users: base.Boolean = None,
|
||||
can_post_messages: base.Boolean = None,
|
||||
can_edit_messages: base.Boolean = None,
|
||||
can_pin_messages: base.Boolean = None):
|
||||
can_pin_messages: base.Boolean = None,
|
||||
can_manage_topics: base.Boolean = None):
|
||||
super(ChatAdministratorRights, self).__init__(
|
||||
is_anonymous=is_anonymous,
|
||||
can_manage_chat=can_manage_chat,
|
||||
|
|
@ -43,4 +45,5 @@ class ChatAdministratorRights(base.TelegramObject):
|
|||
can_invite_users=can_invite_users,
|
||||
can_post_messages=can_post_messages,
|
||||
can_edit_messages=can_edit_messages,
|
||||
can_pin_messages=can_pin_messages)
|
||||
can_pin_messages=can_pin_messages,
|
||||
can_manage_topics=can_manage_topics)
|
||||
|
|
|
|||
|
|
@ -135,6 +135,7 @@ class ChatMemberOwner(ChatMember):
|
|||
can_change_info: base.Boolean = fields.ConstField(True)
|
||||
can_invite_users: base.Boolean = fields.ConstField(True)
|
||||
can_pin_messages: base.Boolean = fields.ConstField(True)
|
||||
can_manage_topics: base.Boolean = fields.ConstField(True)
|
||||
|
||||
|
||||
class ChatMemberAdministrator(ChatMember):
|
||||
|
|
@ -159,6 +160,7 @@ class ChatMemberAdministrator(ChatMember):
|
|||
can_change_info: base.Boolean = fields.Field()
|
||||
can_invite_users: base.Boolean = fields.Field()
|
||||
can_pin_messages: base.Boolean = fields.Field()
|
||||
can_manage_topics: base.Boolean = fields.Field()
|
||||
|
||||
|
||||
class ChatMemberMember(ChatMember):
|
||||
|
|
@ -185,6 +187,7 @@ class ChatMemberRestricted(ChatMember):
|
|||
can_change_info: base.Boolean = fields.Field()
|
||||
can_invite_users: base.Boolean = fields.Field()
|
||||
can_pin_messages: base.Boolean = fields.Field()
|
||||
can_manage_topics: base.Boolean = fields.Field()
|
||||
can_send_messages: base.Boolean = fields.Field()
|
||||
can_send_media_messages: base.Boolean = fields.Field()
|
||||
can_send_polls: base.Boolean = fields.Field()
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ class ChatPermissions(base.TelegramObject):
|
|||
can_change_info: base.Boolean = fields.Field()
|
||||
can_invite_users: base.Boolean = fields.Field()
|
||||
can_pin_messages: base.Boolean = fields.Field()
|
||||
can_manage_topics: base.Boolean = fields.Field()
|
||||
|
||||
def __init__(self,
|
||||
can_send_messages: base.Boolean = None,
|
||||
|
|
@ -26,6 +27,7 @@ class ChatPermissions(base.TelegramObject):
|
|||
can_change_info: base.Boolean = None,
|
||||
can_invite_users: base.Boolean = None,
|
||||
can_pin_messages: base.Boolean = None,
|
||||
can_manage_topics: base.Boolean = None,
|
||||
**kwargs):
|
||||
super(ChatPermissions, self).__init__(
|
||||
can_send_messages=can_send_messages,
|
||||
|
|
@ -36,4 +38,5 @@ class ChatPermissions(base.TelegramObject):
|
|||
can_change_info=can_change_info,
|
||||
can_invite_users=can_invite_users,
|
||||
can_pin_messages=can_pin_messages,
|
||||
can_manage_topics=can_manage_topics,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ class Message(base.TelegramObject):
|
|||
forward_from_message_id: base.Integer = fields.Field()
|
||||
forward_signature: base.String = fields.Field()
|
||||
forward_date: datetime.datetime = fields.DateTimeField()
|
||||
is_topic_message: base.Boolean = fields.Field()
|
||||
is_automatic_forward: base.Boolean = fields.Field()
|
||||
reply_to_message: Message = fields.Field(base="Message")
|
||||
via_bot: User = fields.Field(base=User)
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ CHAT_MEMBER = {
|
|||
"can_promote_members": False,
|
||||
"can_manage_voice_chats": True, # Deprecated
|
||||
"can_manage_video_chats": True,
|
||||
"can_manage_topics": True,
|
||||
"is_anonymous": False,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -41,6 +41,9 @@ def test_privileges():
|
|||
assert isinstance(chat_member.can_promote_members, bool)
|
||||
assert chat_member.can_promote_members == CHAT_MEMBER['can_promote_members']
|
||||
|
||||
assert isinstance(chat_member.can_manage_topics, bool)
|
||||
assert chat_member.can_manage_topics == CHAT_MEMBER['can_manage_topics']
|
||||
|
||||
|
||||
def test_int():
|
||||
assert int(chat_member) == chat_member.user.id
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue