Spaces:
Paused
Paused
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) |