|
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) |