1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00
Files
AdministrationItDepartmens/.venv2/Lib/site-packages/telethon/tl/functions/stories.py
2024-12-31 02:37:57 +06:00

1081 lines
38 KiB
Python

"""File generated by TLObjects' generator. All changes will be ERASED"""
from ...tl.tlobject import TLObject
from ...tl.tlobject import TLRequest
from typing import Optional, List, Union, TYPE_CHECKING
import os
import struct
from datetime import datetime
if TYPE_CHECKING:
from ...tl.types import TypeInputMedia, TypeInputPeer, TypeInputPrivacyRule, TypeMediaArea, TypeMessageEntity, TypeReaction, TypeReportReason
class ActivateStealthModeRequest(TLRequest):
CONSTRUCTOR_ID = 0x57bbd166
SUBCLASS_OF_ID = 0x8af52aac
def __init__(self, past: Optional[bool]=None, future: Optional[bool]=None):
"""
:returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
"""
self.past = past
self.future = future
def to_dict(self):
return {
'_': 'ActivateStealthModeRequest',
'past': self.past,
'future': self.future
}
def _bytes(self):
return b''.join((
b'f\xd1\xbbW',
struct.pack('<I', (0 if self.past is None or self.past is False else 1) | (0 if self.future is None or self.future is False else 2)),
))
@classmethod
def from_reader(cls, reader):
flags = reader.read_int()
_past = bool(flags & 1)
_future = bool(flags & 2)
return cls(past=_past, future=_future)
class CanSendStoryRequest(TLRequest):
CONSTRUCTOR_ID = 0xc7dfdfdd
SUBCLASS_OF_ID = 0xf5b399ac
def __init__(self, peer: 'TypeInputPeer'):
"""
:returns Bool: This type has no constructors.
"""
self.peer = peer
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'CanSendStoryRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer
}
def _bytes(self):
return b''.join((
b'\xdd\xdf\xdf\xc7',
self.peer._bytes(),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
return cls(peer=_peer)
class DeleteStoriesRequest(TLRequest):
CONSTRUCTOR_ID = 0xae59db5f
SUBCLASS_OF_ID = 0x5026710f
def __init__(self, peer: 'TypeInputPeer', id: List[int]):
"""
:returns Vector<int>: This type has no constructors.
"""
self.peer = peer
self.id = id
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'DeleteStoriesRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': [] if self.id is None else self.id[:]
}
def _bytes(self):
return b''.join((
b'_\xdbY\xae',
self.peer._bytes(),
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(struct.pack('<i', x) for x in self.id),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
reader.read_int()
_id = []
for _ in range(reader.read_int()):
_x = reader.read_int()
_id.append(_x)
return cls(peer=_peer, id=_id)
@staticmethod
def read_result(reader):
reader.read_int() # Vector ID
return [reader.read_int() for _ in range(reader.read_int())]
class EditStoryRequest(TLRequest):
CONSTRUCTOR_ID = 0xb583ba46
SUBCLASS_OF_ID = 0x8af52aac
def __init__(self, peer: 'TypeInputPeer', id: int, media: Optional['TypeInputMedia']=None, media_areas: Optional[List['TypeMediaArea']]=None, caption: Optional[str]=None, entities: Optional[List['TypeMessageEntity']]=None, privacy_rules: Optional[List['TypeInputPrivacyRule']]=None):
"""
:returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
"""
self.peer = peer
self.id = id
self.media = media
self.media_areas = media_areas
self.caption = caption
self.entities = entities
self.privacy_rules = privacy_rules
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
if self.media:
self.media = utils.get_input_media(self.media)
def to_dict(self):
return {
'_': 'EditStoryRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': self.id,
'media': self.media.to_dict() if isinstance(self.media, TLObject) else self.media,
'media_areas': [] if self.media_areas is None else [x.to_dict() if isinstance(x, TLObject) else x for x in self.media_areas],
'caption': self.caption,
'entities': [] if self.entities is None else [x.to_dict() if isinstance(x, TLObject) else x for x in self.entities],
'privacy_rules': [] if self.privacy_rules is None else [x.to_dict() if isinstance(x, TLObject) else x for x in self.privacy_rules]
}
def _bytes(self):
assert ((self.caption or self.caption is not None) and (self.entities or self.entities is not None)) or ((self.caption is None or self.caption is False) and (self.entities is None or self.entities is False)), 'caption, entities parameters must all be False-y (like None) or all me True-y'
return b''.join((
b'F\xba\x83\xb5',
struct.pack('<I', (0 if self.media is None or self.media is False else 1) | (0 if self.media_areas is None or self.media_areas is False else 8) | (0 if self.caption is None or self.caption is False else 2) | (0 if self.entities is None or self.entities is False else 2) | (0 if self.privacy_rules is None or self.privacy_rules is False else 4)),
self.peer._bytes(),
struct.pack('<i', self.id),
b'' if self.media is None or self.media is False else (self.media._bytes()),
b'' if self.media_areas is None or self.media_areas is False else b''.join((b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.media_areas)),b''.join(x._bytes() for x in self.media_areas))),
b'' if self.caption is None or self.caption is False else (self.serialize_bytes(self.caption)),
b'' if self.entities is None or self.entities is False else b''.join((b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.entities)),b''.join(x._bytes() for x in self.entities))),
b'' if self.privacy_rules is None or self.privacy_rules is False else b''.join((b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.privacy_rules)),b''.join(x._bytes() for x in self.privacy_rules))),
))
@classmethod
def from_reader(cls, reader):
flags = reader.read_int()
_peer = reader.tgread_object()
_id = reader.read_int()
if flags & 1:
_media = reader.tgread_object()
else:
_media = None
if flags & 8:
reader.read_int()
_media_areas = []
for _ in range(reader.read_int()):
_x = reader.tgread_object()
_media_areas.append(_x)
else:
_media_areas = None
if flags & 2:
_caption = reader.tgread_string()
else:
_caption = None
if flags & 2:
reader.read_int()
_entities = []
for _ in range(reader.read_int()):
_x = reader.tgread_object()
_entities.append(_x)
else:
_entities = None
if flags & 4:
reader.read_int()
_privacy_rules = []
for _ in range(reader.read_int()):
_x = reader.tgread_object()
_privacy_rules.append(_x)
else:
_privacy_rules = None
return cls(peer=_peer, id=_id, media=_media, media_areas=_media_areas, caption=_caption, entities=_entities, privacy_rules=_privacy_rules)
class ExportStoryLinkRequest(TLRequest):
CONSTRUCTOR_ID = 0x7b8def20
SUBCLASS_OF_ID = 0xfc541a6
def __init__(self, peer: 'TypeInputPeer', id: int):
"""
:returns ExportedStoryLink: Instance of ExportedStoryLink.
"""
self.peer = peer
self.id = id
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'ExportStoryLinkRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': self.id
}
def _bytes(self):
return b''.join((
b' \xef\x8d{',
self.peer._bytes(),
struct.pack('<i', self.id),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
_id = reader.read_int()
return cls(peer=_peer, id=_id)
class GetAllReadPeerStoriesRequest(TLRequest):
CONSTRUCTOR_ID = 0x9b5ae7f9
SUBCLASS_OF_ID = 0x8af52aac
def to_dict(self):
return {
'_': 'GetAllReadPeerStoriesRequest'
}
def _bytes(self):
return b''.join((
b'\xf9\xe7Z\x9b',
))
@classmethod
def from_reader(cls, reader):
return cls()
class GetAllStoriesRequest(TLRequest):
CONSTRUCTOR_ID = 0xeeb0d625
SUBCLASS_OF_ID = 0x7e60d0cd
def __init__(self, next: Optional[bool]=None, hidden: Optional[bool]=None, state: Optional[str]=None):
"""
:returns stories.AllStories: Instance of either AllStoriesNotModified, AllStories.
"""
self.next = next
self.hidden = hidden
self.state = state
def to_dict(self):
return {
'_': 'GetAllStoriesRequest',
'next': self.next,
'hidden': self.hidden,
'state': self.state
}
def _bytes(self):
return b''.join((
b'%\xd6\xb0\xee',
struct.pack('<I', (0 if self.next is None or self.next is False else 2) | (0 if self.hidden is None or self.hidden is False else 4) | (0 if self.state is None or self.state is False else 1)),
b'' if self.state is None or self.state is False else (self.serialize_bytes(self.state)),
))
@classmethod
def from_reader(cls, reader):
flags = reader.read_int()
_next = bool(flags & 2)
_hidden = bool(flags & 4)
if flags & 1:
_state = reader.tgread_string()
else:
_state = None
return cls(next=_next, hidden=_hidden, state=_state)
class GetChatsToSendRequest(TLRequest):
CONSTRUCTOR_ID = 0xa56a8b60
SUBCLASS_OF_ID = 0x99d5cb14
def to_dict(self):
return {
'_': 'GetChatsToSendRequest'
}
def _bytes(self):
return b''.join((
b'`\x8bj\xa5',
))
@classmethod
def from_reader(cls, reader):
return cls()
class GetPeerMaxIDsRequest(TLRequest):
CONSTRUCTOR_ID = 0x535983c3
SUBCLASS_OF_ID = 0x5026710f
def __init__(self, id: List['TypeInputPeer']):
"""
:returns Vector<int>: This type has no constructors.
"""
self.id = id
async def resolve(self, client, utils):
_tmp = []
for _x in self.id:
_tmp.append(utils.get_input_peer(await client.get_input_entity(_x)))
self.id = _tmp
def to_dict(self):
return {
'_': 'GetPeerMaxIDsRequest',
'id': [] if self.id is None else [x.to_dict() if isinstance(x, TLObject) else x for x in self.id]
}
def _bytes(self):
return b''.join((
b'\xc3\x83YS',
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(x._bytes() for x in self.id),
))
@classmethod
def from_reader(cls, reader):
reader.read_int()
_id = []
for _ in range(reader.read_int()):
_x = reader.tgread_object()
_id.append(_x)
return cls(id=_id)
@staticmethod
def read_result(reader):
reader.read_int() # Vector ID
return [reader.read_int() for _ in range(reader.read_int())]
class GetPeerStoriesRequest(TLRequest):
CONSTRUCTOR_ID = 0x2c4ada50
SUBCLASS_OF_ID = 0x9d56cfd0
def __init__(self, peer: 'TypeInputPeer'):
"""
:returns stories.PeerStories: Instance of PeerStories.
"""
self.peer = peer
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'GetPeerStoriesRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer
}
def _bytes(self):
return b''.join((
b'P\xdaJ,',
self.peer._bytes(),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
return cls(peer=_peer)
class GetPinnedStoriesRequest(TLRequest):
CONSTRUCTOR_ID = 0x5821a5dc
SUBCLASS_OF_ID = 0x251c0c2c
def __init__(self, peer: 'TypeInputPeer', offset_id: int, limit: int):
"""
:returns stories.Stories: Instance of Stories.
"""
self.peer = peer
self.offset_id = offset_id
self.limit = limit
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'GetPinnedStoriesRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'offset_id': self.offset_id,
'limit': self.limit
}
def _bytes(self):
return b''.join((
b'\xdc\xa5!X',
self.peer._bytes(),
struct.pack('<i', self.offset_id),
struct.pack('<i', self.limit),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
_offset_id = reader.read_int()
_limit = reader.read_int()
return cls(peer=_peer, offset_id=_offset_id, limit=_limit)
class GetStoriesArchiveRequest(TLRequest):
CONSTRUCTOR_ID = 0xb4352016
SUBCLASS_OF_ID = 0x251c0c2c
def __init__(self, peer: 'TypeInputPeer', offset_id: int, limit: int):
"""
:returns stories.Stories: Instance of Stories.
"""
self.peer = peer
self.offset_id = offset_id
self.limit = limit
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'GetStoriesArchiveRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'offset_id': self.offset_id,
'limit': self.limit
}
def _bytes(self):
return b''.join((
b'\x16 5\xb4',
self.peer._bytes(),
struct.pack('<i', self.offset_id),
struct.pack('<i', self.limit),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
_offset_id = reader.read_int()
_limit = reader.read_int()
return cls(peer=_peer, offset_id=_offset_id, limit=_limit)
class GetStoriesByIDRequest(TLRequest):
CONSTRUCTOR_ID = 0x5774ca74
SUBCLASS_OF_ID = 0x251c0c2c
def __init__(self, peer: 'TypeInputPeer', id: List[int]):
"""
:returns stories.Stories: Instance of Stories.
"""
self.peer = peer
self.id = id
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'GetStoriesByIDRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': [] if self.id is None else self.id[:]
}
def _bytes(self):
return b''.join((
b't\xcatW',
self.peer._bytes(),
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(struct.pack('<i', x) for x in self.id),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
reader.read_int()
_id = []
for _ in range(reader.read_int()):
_x = reader.read_int()
_id.append(_x)
return cls(peer=_peer, id=_id)
class GetStoriesViewsRequest(TLRequest):
CONSTRUCTOR_ID = 0x28e16cc8
SUBCLASS_OF_ID = 0x4b3fc4ba
def __init__(self, peer: 'TypeInputPeer', id: List[int]):
"""
:returns stories.StoryViews: Instance of StoryViews.
"""
self.peer = peer
self.id = id
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'GetStoriesViewsRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': [] if self.id is None else self.id[:]
}
def _bytes(self):
return b''.join((
b'\xc8l\xe1(',
self.peer._bytes(),
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(struct.pack('<i', x) for x in self.id),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
reader.read_int()
_id = []
for _ in range(reader.read_int()):
_x = reader.read_int()
_id.append(_x)
return cls(peer=_peer, id=_id)
class GetStoryReactionsListRequest(TLRequest):
CONSTRUCTOR_ID = 0xb9b2881f
SUBCLASS_OF_ID = 0x46f91e3
def __init__(self, peer: 'TypeInputPeer', id: int, limit: int, forwards_first: Optional[bool]=None, reaction: Optional['TypeReaction']=None, offset: Optional[str]=None):
"""
:returns stories.StoryReactionsList: Instance of StoryReactionsList.
"""
self.peer = peer
self.id = id
self.limit = limit
self.forwards_first = forwards_first
self.reaction = reaction
self.offset = offset
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'GetStoryReactionsListRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': self.id,
'limit': self.limit,
'forwards_first': self.forwards_first,
'reaction': self.reaction.to_dict() if isinstance(self.reaction, TLObject) else self.reaction,
'offset': self.offset
}
def _bytes(self):
return b''.join((
b'\x1f\x88\xb2\xb9',
struct.pack('<I', (0 if self.forwards_first is None or self.forwards_first is False else 4) | (0 if self.reaction is None or self.reaction is False else 1) | (0 if self.offset is None or self.offset is False else 2)),
self.peer._bytes(),
struct.pack('<i', self.id),
b'' if self.reaction is None or self.reaction is False else (self.reaction._bytes()),
b'' if self.offset is None or self.offset is False else (self.serialize_bytes(self.offset)),
struct.pack('<i', self.limit),
))
@classmethod
def from_reader(cls, reader):
flags = reader.read_int()
_forwards_first = bool(flags & 4)
_peer = reader.tgread_object()
_id = reader.read_int()
if flags & 1:
_reaction = reader.tgread_object()
else:
_reaction = None
if flags & 2:
_offset = reader.tgread_string()
else:
_offset = None
_limit = reader.read_int()
return cls(peer=_peer, id=_id, limit=_limit, forwards_first=_forwards_first, reaction=_reaction, offset=_offset)
class GetStoryViewsListRequest(TLRequest):
CONSTRUCTOR_ID = 0x7ed23c57
SUBCLASS_OF_ID = 0xb9437560
def __init__(self, peer: 'TypeInputPeer', id: int, offset: str, limit: int, just_contacts: Optional[bool]=None, reactions_first: Optional[bool]=None, forwards_first: Optional[bool]=None, q: Optional[str]=None):
"""
:returns stories.StoryViewsList: Instance of StoryViewsList.
"""
self.peer = peer
self.id = id
self.offset = offset
self.limit = limit
self.just_contacts = just_contacts
self.reactions_first = reactions_first
self.forwards_first = forwards_first
self.q = q
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'GetStoryViewsListRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': self.id,
'offset': self.offset,
'limit': self.limit,
'just_contacts': self.just_contacts,
'reactions_first': self.reactions_first,
'forwards_first': self.forwards_first,
'q': self.q
}
def _bytes(self):
return b''.join((
b'W<\xd2~',
struct.pack('<I', (0 if self.just_contacts is None or self.just_contacts is False else 1) | (0 if self.reactions_first is None or self.reactions_first is False else 4) | (0 if self.forwards_first is None or self.forwards_first is False else 8) | (0 if self.q is None or self.q is False else 2)),
self.peer._bytes(),
b'' if self.q is None or self.q is False else (self.serialize_bytes(self.q)),
struct.pack('<i', self.id),
self.serialize_bytes(self.offset),
struct.pack('<i', self.limit),
))
@classmethod
def from_reader(cls, reader):
flags = reader.read_int()
_just_contacts = bool(flags & 1)
_reactions_first = bool(flags & 4)
_forwards_first = bool(flags & 8)
_peer = reader.tgread_object()
if flags & 2:
_q = reader.tgread_string()
else:
_q = None
_id = reader.read_int()
_offset = reader.tgread_string()
_limit = reader.read_int()
return cls(peer=_peer, id=_id, offset=_offset, limit=_limit, just_contacts=_just_contacts, reactions_first=_reactions_first, forwards_first=_forwards_first, q=_q)
class IncrementStoryViewsRequest(TLRequest):
CONSTRUCTOR_ID = 0xb2028afb
SUBCLASS_OF_ID = 0xf5b399ac
def __init__(self, peer: 'TypeInputPeer', id: List[int]):
"""
:returns Bool: This type has no constructors.
"""
self.peer = peer
self.id = id
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'IncrementStoryViewsRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': [] if self.id is None else self.id[:]
}
def _bytes(self):
return b''.join((
b'\xfb\x8a\x02\xb2',
self.peer._bytes(),
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(struct.pack('<i', x) for x in self.id),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
reader.read_int()
_id = []
for _ in range(reader.read_int()):
_x = reader.read_int()
_id.append(_x)
return cls(peer=_peer, id=_id)
class ReadStoriesRequest(TLRequest):
CONSTRUCTOR_ID = 0xa556dac8
SUBCLASS_OF_ID = 0x5026710f
def __init__(self, peer: 'TypeInputPeer', max_id: int):
"""
:returns Vector<int>: This type has no constructors.
"""
self.peer = peer
self.max_id = max_id
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'ReadStoriesRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'max_id': self.max_id
}
def _bytes(self):
return b''.join((
b'\xc8\xdaV\xa5',
self.peer._bytes(),
struct.pack('<i', self.max_id),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
_max_id = reader.read_int()
return cls(peer=_peer, max_id=_max_id)
@staticmethod
def read_result(reader):
reader.read_int() # Vector ID
return [reader.read_int() for _ in range(reader.read_int())]
class ReportRequest(TLRequest):
CONSTRUCTOR_ID = 0x1923fa8c
SUBCLASS_OF_ID = 0xf5b399ac
def __init__(self, peer: 'TypeInputPeer', id: List[int], reason: 'TypeReportReason', message: str):
"""
:returns Bool: This type has no constructors.
"""
self.peer = peer
self.id = id
self.reason = reason
self.message = message
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'ReportRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': [] if self.id is None else self.id[:],
'reason': self.reason.to_dict() if isinstance(self.reason, TLObject) else self.reason,
'message': self.message
}
def _bytes(self):
return b''.join((
b'\x8c\xfa#\x19',
self.peer._bytes(),
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(struct.pack('<i', x) for x in self.id),
self.reason._bytes(),
self.serialize_bytes(self.message),
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
reader.read_int()
_id = []
for _ in range(reader.read_int()):
_x = reader.read_int()
_id.append(_x)
_reason = reader.tgread_object()
_message = reader.tgread_string()
return cls(peer=_peer, id=_id, reason=_reason, message=_message)
class SendReactionRequest(TLRequest):
CONSTRUCTOR_ID = 0x7fd736b2
SUBCLASS_OF_ID = 0x8af52aac
def __init__(self, peer: 'TypeInputPeer', story_id: int, reaction: 'TypeReaction', add_to_recent: Optional[bool]=None):
"""
:returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
"""
self.peer = peer
self.story_id = story_id
self.reaction = reaction
self.add_to_recent = add_to_recent
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'SendReactionRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'story_id': self.story_id,
'reaction': self.reaction.to_dict() if isinstance(self.reaction, TLObject) else self.reaction,
'add_to_recent': self.add_to_recent
}
def _bytes(self):
return b''.join((
b'\xb26\xd7\x7f',
struct.pack('<I', (0 if self.add_to_recent is None or self.add_to_recent is False else 1)),
self.peer._bytes(),
struct.pack('<i', self.story_id),
self.reaction._bytes(),
))
@classmethod
def from_reader(cls, reader):
flags = reader.read_int()
_add_to_recent = bool(flags & 1)
_peer = reader.tgread_object()
_story_id = reader.read_int()
_reaction = reader.tgread_object()
return cls(peer=_peer, story_id=_story_id, reaction=_reaction, add_to_recent=_add_to_recent)
class SendStoryRequest(TLRequest):
CONSTRUCTOR_ID = 0xe4e6694b
SUBCLASS_OF_ID = 0x8af52aac
def __init__(self, peer: 'TypeInputPeer', media: 'TypeInputMedia', privacy_rules: List['TypeInputPrivacyRule'], pinned: Optional[bool]=None, noforwards: Optional[bool]=None, fwd_modified: Optional[bool]=None, media_areas: Optional[List['TypeMediaArea']]=None, caption: Optional[str]=None, entities: Optional[List['TypeMessageEntity']]=None, random_id: int=None, period: Optional[int]=None, fwd_from_id: Optional['TypeInputPeer']=None, fwd_from_story: Optional[int]=None):
"""
:returns Updates: Instance of either UpdatesTooLong, UpdateShortMessage, UpdateShortChatMessage, UpdateShort, UpdatesCombined, Updates, UpdateShortSentMessage.
"""
self.peer = peer
self.media = media
self.privacy_rules = privacy_rules
self.pinned = pinned
self.noforwards = noforwards
self.fwd_modified = fwd_modified
self.media_areas = media_areas
self.caption = caption
self.entities = entities
self.random_id = random_id if random_id is not None else int.from_bytes(os.urandom(8), 'big', signed=True)
self.period = period
self.fwd_from_id = fwd_from_id
self.fwd_from_story = fwd_from_story
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
self.media = utils.get_input_media(self.media)
if self.fwd_from_id:
self.fwd_from_id = utils.get_input_peer(await client.get_input_entity(self.fwd_from_id))
def to_dict(self):
return {
'_': 'SendStoryRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'media': self.media.to_dict() if isinstance(self.media, TLObject) else self.media,
'privacy_rules': [] if self.privacy_rules is None else [x.to_dict() if isinstance(x, TLObject) else x for x in self.privacy_rules],
'pinned': self.pinned,
'noforwards': self.noforwards,
'fwd_modified': self.fwd_modified,
'media_areas': [] if self.media_areas is None else [x.to_dict() if isinstance(x, TLObject) else x for x in self.media_areas],
'caption': self.caption,
'entities': [] if self.entities is None else [x.to_dict() if isinstance(x, TLObject) else x for x in self.entities],
'random_id': self.random_id,
'period': self.period,
'fwd_from_id': self.fwd_from_id.to_dict() if isinstance(self.fwd_from_id, TLObject) else self.fwd_from_id,
'fwd_from_story': self.fwd_from_story
}
def _bytes(self):
assert ((self.fwd_from_id or self.fwd_from_id is not None) and (self.fwd_from_story or self.fwd_from_story is not None)) or ((self.fwd_from_id is None or self.fwd_from_id is False) and (self.fwd_from_story is None or self.fwd_from_story is False)), 'fwd_from_id, fwd_from_story parameters must all be False-y (like None) or all me True-y'
return b''.join((
b'Ki\xe6\xe4',
struct.pack('<I', (0 if self.pinned is None or self.pinned is False else 4) | (0 if self.noforwards is None or self.noforwards is False else 16) | (0 if self.fwd_modified is None or self.fwd_modified is False else 128) | (0 if self.media_areas is None or self.media_areas is False else 32) | (0 if self.caption is None or self.caption is False else 1) | (0 if self.entities is None or self.entities is False else 2) | (0 if self.period is None or self.period is False else 8) | (0 if self.fwd_from_id is None or self.fwd_from_id is False else 64) | (0 if self.fwd_from_story is None or self.fwd_from_story is False else 64)),
self.peer._bytes(),
self.media._bytes(),
b'' if self.media_areas is None or self.media_areas is False else b''.join((b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.media_areas)),b''.join(x._bytes() for x in self.media_areas))),
b'' if self.caption is None or self.caption is False else (self.serialize_bytes(self.caption)),
b'' if self.entities is None or self.entities is False else b''.join((b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.entities)),b''.join(x._bytes() for x in self.entities))),
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.privacy_rules)),b''.join(x._bytes() for x in self.privacy_rules),
struct.pack('<q', self.random_id),
b'' if self.period is None or self.period is False else (struct.pack('<i', self.period)),
b'' if self.fwd_from_id is None or self.fwd_from_id is False else (self.fwd_from_id._bytes()),
b'' if self.fwd_from_story is None or self.fwd_from_story is False else (struct.pack('<i', self.fwd_from_story)),
))
@classmethod
def from_reader(cls, reader):
flags = reader.read_int()
_pinned = bool(flags & 4)
_noforwards = bool(flags & 16)
_fwd_modified = bool(flags & 128)
_peer = reader.tgread_object()
_media = reader.tgread_object()
if flags & 32:
reader.read_int()
_media_areas = []
for _ in range(reader.read_int()):
_x = reader.tgread_object()
_media_areas.append(_x)
else:
_media_areas = None
if flags & 1:
_caption = reader.tgread_string()
else:
_caption = None
if flags & 2:
reader.read_int()
_entities = []
for _ in range(reader.read_int()):
_x = reader.tgread_object()
_entities.append(_x)
else:
_entities = None
reader.read_int()
_privacy_rules = []
for _ in range(reader.read_int()):
_x = reader.tgread_object()
_privacy_rules.append(_x)
_random_id = reader.read_long()
if flags & 8:
_period = reader.read_int()
else:
_period = None
if flags & 64:
_fwd_from_id = reader.tgread_object()
else:
_fwd_from_id = None
if flags & 64:
_fwd_from_story = reader.read_int()
else:
_fwd_from_story = None
return cls(peer=_peer, media=_media, privacy_rules=_privacy_rules, pinned=_pinned, noforwards=_noforwards, fwd_modified=_fwd_modified, media_areas=_media_areas, caption=_caption, entities=_entities, random_id=_random_id, period=_period, fwd_from_id=_fwd_from_id, fwd_from_story=_fwd_from_story)
class ToggleAllStoriesHiddenRequest(TLRequest):
CONSTRUCTOR_ID = 0x7c2557c4
SUBCLASS_OF_ID = 0xf5b399ac
def __init__(self, hidden: bool):
"""
:returns Bool: This type has no constructors.
"""
self.hidden = hidden
def to_dict(self):
return {
'_': 'ToggleAllStoriesHiddenRequest',
'hidden': self.hidden
}
def _bytes(self):
return b''.join((
b'\xc4W%|',
b'\xb5ur\x99' if self.hidden else b'7\x97y\xbc',
))
@classmethod
def from_reader(cls, reader):
_hidden = reader.tgread_bool()
return cls(hidden=_hidden)
class TogglePeerStoriesHiddenRequest(TLRequest):
CONSTRUCTOR_ID = 0xbd0415c4
SUBCLASS_OF_ID = 0xf5b399ac
def __init__(self, peer: 'TypeInputPeer', hidden: bool):
"""
:returns Bool: This type has no constructors.
"""
self.peer = peer
self.hidden = hidden
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'TogglePeerStoriesHiddenRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'hidden': self.hidden
}
def _bytes(self):
return b''.join((
b'\xc4\x15\x04\xbd',
self.peer._bytes(),
b'\xb5ur\x99' if self.hidden else b'7\x97y\xbc',
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
_hidden = reader.tgread_bool()
return cls(peer=_peer, hidden=_hidden)
class TogglePinnedRequest(TLRequest):
CONSTRUCTOR_ID = 0x9a75a1ef
SUBCLASS_OF_ID = 0x5026710f
def __init__(self, peer: 'TypeInputPeer', id: List[int], pinned: bool):
"""
:returns Vector<int>: This type has no constructors.
"""
self.peer = peer
self.id = id
self.pinned = pinned
async def resolve(self, client, utils):
self.peer = utils.get_input_peer(await client.get_input_entity(self.peer))
def to_dict(self):
return {
'_': 'TogglePinnedRequest',
'peer': self.peer.to_dict() if isinstance(self.peer, TLObject) else self.peer,
'id': [] if self.id is None else self.id[:],
'pinned': self.pinned
}
def _bytes(self):
return b''.join((
b'\xef\xa1u\x9a',
self.peer._bytes(),
b'\x15\xc4\xb5\x1c',struct.pack('<i', len(self.id)),b''.join(struct.pack('<i', x) for x in self.id),
b'\xb5ur\x99' if self.pinned else b'7\x97y\xbc',
))
@classmethod
def from_reader(cls, reader):
_peer = reader.tgread_object()
reader.read_int()
_id = []
for _ in range(reader.read_int()):
_x = reader.read_int()
_id.append(_x)
_pinned = reader.tgread_bool()
return cls(peer=_peer, id=_id, pinned=_pinned)
@staticmethod
def read_result(reader):
reader.read_int() # Vector ID
return [reader.read_int() for _ in range(reader.read_int())]