Как отправлять стикеры, используя идентификатор (строку) в telethon

#python #telegram #telethon

#python #telegram #телемарафон

Вопрос:

Есть ли какой-либо способ отправки стикеров с использованием атрибута id event.file? В документации указано, чтобы отправить его, используя идентификатор и access_hash определенного набора стикеров, а затем, наконец, используя index с sticker_set для отправки стикера. Поскольку на серверах telegram хранится уникальный идентификатор для конкретного стикера, мне было интересно, есть ли какой-либо способ использовать его для отправки стикеров?

Ответ №1:

 from telethon.tl.functions.messages import GetAllStickersRequest
sticker_sets = await client(GetAllStickersRequest(0))

# Choose a sticker set
from telethon.tl.functions.messages import GetStickerSetRequest
from telethon.tl.types import InputStickerSetID
sticker_set = sticker_sets.sets[0]

# Get the stickers for this sticker set
stickers = await client(GetStickerSetRequest(
    stickerset=InputStickerSetID(
        id=sticker_set.id, access_hash=sticker_set.access_hash
    )
))

# Stickers are nothing more than files, so send that
await client.send_file('me', stickers.documents[0])
 

Комментарии:

1. Спасибо, но не так. Я имел в виду использовать идентификатор стикера. Я нашел способ сделать это. event.response(file=id)

2. @Dominic но он отправит его в виде изображения

3. @Jawad нет? поскольку с каждым носителем связано поле идентификатора, он будет использовать этот идентификатор в качестве ссылки для отправки носителя, это может быть стикер, изображение, gif или что-либо, что является носителем. поправьте меня, если я ошибаюсь…