Source code for hydrogram.raw.functions.channels.edit_forum_topic
# Hydrogram - Telegram MTProto API Client Library for Python# Copyright (C) 2023-present Hydrogram <https://hydrogram.org>## This file is part of Hydrogram.## Hydrogram is free software: you can redistribute it and/or modify# it under the terms of the GNU Lesser General Public License as published# by the Free Software Foundation, either version 3 of the License, or# (at your option) any later version.## Hydrogram is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU Lesser General Public License for more details.## You should have received a copy of the GNU Lesser General Public License# along with Hydrogram. If not, see <http://www.gnu.org/licenses/>.fromioimportBytesIOfromhydrogram.raw.core.primitivesimportInt,Long,Int128,Int256,Bool,Bytes,String,Double,Vectorfromhydrogram.raw.coreimportTLObjectfromhydrogramimportrawfromtypingimportList,Optional,Any# # # # # # # # # # # # # # # # # # # # # # # ## !!! WARNING !!! ## This is a generated file! ## All changes made in this file will be lost! ## # # # # # # # # # # # # # # # # # # # # # # #
[docs]classEditForumTopic(TLObject):# type: ignore"""Edit forum topic; requires manage_topics rights. Details: - Layer: ``181`` - ID: ``F4DFA185`` Parameters: channel (:obj:`InputChannel <hydrogram.raw.base.InputChannel>`): Supergroup topic_id (``int`` ``32-bit``): Topic ID title (``str``, *optional*): If present, will update the topic title (maximum UTF-8 length: 128). icon_emoji_id (``int`` ``64-bit``, *optional*): If present, updates the custom emoji used as topic icon. Telegram Premium users can use any custom emoji, other users can only use the custom emojis contained in the inputStickerSetEmojiDefaultTopicIcons emoji pack. Pass 0 to switch to the fallback topic icon. closed (``bool``, *optional*): If present, will update the open/closed status of the topic. hidden (``bool``, *optional*): If present, will hide/unhide the topic (only valid for the "General" topic, id=1). Returns: :obj:`Updates <hydrogram.raw.base.Updates>` """__slots__:List[str]=["channel","topic_id","title","icon_emoji_id","closed","hidden"]ID=0xf4dfa185QUALNAME="functions.channels.EditForumTopic"def__init__(self,*,channel:"raw.base.InputChannel",topic_id:int,title:Optional[str]=None,icon_emoji_id:Optional[int]=None,closed:Optional[bool]=None,hidden:Optional[bool]=None)->None:self.channel=channel# InputChannelself.topic_id=topic_id# intself.title=title# flags.0?stringself.icon_emoji_id=icon_emoji_id# flags.1?longself.closed=closed# flags.2?Boolself.hidden=hidden# flags.3?Bool@staticmethoddefread(b:BytesIO,*args:Any)->"EditForumTopic":flags=Int.read(b)channel=TLObject.read(b)topic_id=Int.read(b)title=String.read(b)ifflags&(1<<0)elseNoneicon_emoji_id=Long.read(b)ifflags&(1<<1)elseNoneclosed=Bool.read(b)ifflags&(1<<2)elseNonehidden=Bool.read(b)ifflags&(1<<3)elseNonereturnEditForumTopic(channel=channel,topic_id=topic_id,title=title,icon_emoji_id=icon_emoji_id,closed=closed,hidden=hidden)defwrite(self,*args)->bytes:b=BytesIO()b.write(Int(self.ID,False))flags=0flags|=(1<<0)ifself.titleisnotNoneelse0flags|=(1<<1)ifself.icon_emoji_idisnotNoneelse0flags|=(1<<2)ifself.closedisnotNoneelse0flags|=(1<<3)ifself.hiddenisnotNoneelse0b.write(Int(flags))b.write(self.channel.write())b.write(Int(self.topic_id))ifself.titleisnotNone:b.write(String(self.title))ifself.icon_emoji_idisnotNone:b.write(Long(self.icon_emoji_id))ifself.closedisnotNone:b.write(Bool(self.closed))ifself.hiddenisnotNone:b.write(Bool(self.hidden))returnb.getvalue()