A client for the Signal stickers API
Project description
Python client for Signal stickers
A client to interact with the Signal stickers API.
- Fetch sticker packs
- Get images files
- etc.
Note: despite its name, this client does not interacts with
signalstickers.com
, so information defined there (tags, etc.) will not be fetched.
This client connects to the Signal sticker API. Please do not flood it.
Installation
pip install --user signalstickers-client
This module requires cryptography
(but it should be installed with the
previous command).
Usage
The StickerPack
object returned by StickersClient().get_pack(<pack_id>, <pack_key>)
exposes the following attributes:
id
(string): the pack id. Equals topack_id
;key
(string): the pack key. Equals topack_key
;title
(string): the title of the pack;author
(string): the author of the pack;nb_stickers
(int): the number of stickers in the pack;cover
(Sticker
): the cover sticker;stickers
(list): the list of stickers in the pack (which areSticker
objects).
A Sticker
object exposes the following attributes:
id
(int): the id of the sticker in the pack;emoji
(string): the emoji mapped to this sticker;image_data
(bytes): the webp image of the sticker.
Example usage
import os
from signalstickers_client import StickersClient
# "Friends of the Internet" by Bits of Freedom
pack_id = "4830e258138fca961ab2151d9596755c"
pack_key = "87078ee421bad8bf44092ca72166b67ae5397e943452e4300ced9367b7f6a1a1"
client = StickersClient()
pack = client.get_pack(pack_id, pack_key)
print(pack.title) # "Friends of the Internet"
print(pack.author) # "Bits of Freedom"
print(pack.nb_stickers) # 7
# Saves all stickers in webp format in /tmp/stickersclient
# if the directory exists
for sticker in pack.stickers:
with open(
os.path.join("/tmp", "stickersclient", "{}.webp".format(sticker.id)), "wb"
) as sticker_f:
sticker_f.write(sticker.image_data)
License
See LICENSE
Legal
This is not an official Signal project. This is an independant project.
Signal is a registered trademark in the United States and other countries.
Author
Romain Ricard contact+stickerclient@romainricard.fr
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for signalstickers-client-1.0.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 129933c447eeab630ed2698da6284d52368bd823124b00c38d000ffa1832976c |
|
MD5 | 234330285e0d546d5fefd2934b0cc3af |
|
BLAKE2b-256 | cff2bef35007e1c0a222fd065969f9fb0538a29f463f6a8f6f89b73277a7ba25 |
Hashes for signalstickers_client-1.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19350c129c507ebdc7da7a9f9548bf7cc7c48ebd6afd731800c4ca0f20b67678 |
|
MD5 | 2378942c2d857b7a3ba356bbe523e6ac |
|
BLAKE2b-256 | 989b82af3b172048281a9234bd50e380c10bbae6b297b05f8a6577d189070aba |