File size: 1,522 Bytes
7710b6e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
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) |