from typing import List from pyrogram import Client, errors, raw async def get_sticker_set_by_name( client: Client, name: str ) -> raw.base.messages.StickerSet: try: return await client.invoke( raw.functions.messages.GetStickerSet( stickerset=raw.types.InputStickerSetShortName(short_name=name), hash=0, ) ) except errors.exceptions.not_acceptable_406.StickersetInvalid: return None async def create_sticker_set( client: Client, owner: int, title: str, short_name: str, stickers: List[raw.base.InputStickerSetItem], ) -> raw.base.messages.StickerSet: return await client.invoke( raw.functions.stickers.CreateStickerSet( user_id=await client.resolve_peer(owner), title=title, short_name=short_name, stickers=stickers, ) ) async def add_sticker_to_set( client: Client, stickerset: raw.base.messages.StickerSet, sticker: raw.base.InputStickerSetItem, ) -> raw.base.messages.StickerSet: return await client.invoke( raw.functions.stickers.AddStickerToSet( stickerset=raw.types.InputStickerSetShortName( short_name=stickerset.set.short_name ), sticker=sticker, ) ) async def create_sticker( sticker: raw.base.InputDocument, emoji: str ) -> raw.base.InputStickerSetItem: return raw.types.InputStickerSetItem(document=sticker, emoji=emoji)