signalstickers-client-fork-laggykiller


Namesignalstickers-client-fork-laggykiller JSON
Version 3.3.0.post1 PyPI version JSON
download
home_pagehttps://github.com/laggykiller/signalstickers-client
SummaryA client for the Signal stickers API
upload_time2024-04-12 16:40:23
maintainerNone
docs_urlNone
authorRomain Ricard
requires_python>=3.6
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NOTICE

This is a fork from https://github.com/signalstickers/signalstickers-client

This fork adds typing and remove dependencies version caps

# Python client for Signal stickers

A client to interact with the [Signal](https://signal.org/) stickers API.

+ Fetch sticker packs
+ Get images files
+ Upload sticker packs
+ etc.


> Note: despite its name, this client does not interacts with
> `signalstickers.org`, so information defined there (tags, etc.) will **not**
> be fetched.

> This client connects to the Signal sticker API. Please **do not flood it**
> (you'll be blocked anyway).

## Installation

```bash
pip3 install --user signalstickers-client
```

This module requires `cryptography`, `protobuf`, `anyio`, and `httpx` (but they
should be installed with the previous command).
 
## Usage

If you are not familiar with Signal stickers, read
[STICKERS_INTERNALS.md](STICKERS_INTERNALS.md) first.

### Downloading a pack
The `StickerPack` object returned by `await
StickersClient().get_pack(<pack_id>, <pack_key>)` exposes the following
attributes:

+ `id: str` the pack id. Equals to `pack_id`;
+ `key: str` the pack key. Equals to `pack_key`;
+ `title: str` the title of the pack;
+ `author: str` the author of the pack;
+ `nb_stickers: int` the number of stickers in the pack;
+ `cover: Sticker` the cover sticker;
+ `stickers: list[Sticker]` the list of stickers in the pack

A `Sticker` object exposes the following attributes:

+ `id: int` the id of the sticker in the pack;
+ `emoji: str` the emoji mapped to this sticker;
+ `image_data: bytes` the webp image of the sticker.


### Uploading a pack

Same thing, but use `LocalStickerPack` (that does not contains `id` and `key`)
instead of `StickerPack`.

**You will need your Signal credentials!**

To obtain them, run the Signal Desktop app with the flag `--enable-dev-tools`,
open the Developer Tools, **change the JavaScript context from `top` to
`Electron Isolated Context`** (cf. video below), and type
`window.reduxStore.getState().items.uuid_id` to get your USER, and
`window.reduxStore.getState().items.password` to get your PASSWORD.

<details>
  <summary><i>Video: how to set JavaScript context</i></summary>

https://github.com/signalstickers/signalstickers-client/assets/7778898/ca3f1fec-e908-49d9-88a8-e33d0ee9a453

</details>


## Example usage

[See `examples/`](examples/)

## Development

+ Create a `pipenv` with `pipenv install --dev`;
+ Edit the code you want;
+ Don't forget to launch tests with `pipenv run py.test`.

## License

See
[LICENSE](https://github.com/romainricard/signalstickers-client/blob/master/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>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/laggykiller/signalstickers-client",
    "name": "signalstickers-client-fork-laggykiller",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": null,
    "author": "Romain Ricard",
    "author_email": "contact+stickerclient@romainricard.fr",
    "download_url": "https://files.pythonhosted.org/packages/f7/94/5d3b4fabde46b8e6eca10a07bfad9ba73c4feadef3030ac43b0d14a8e3d4/signalstickers_client_fork_laggykiller-3.3.post1.tar.gz",
    "platform": null,
    "description": "# NOTICE\n\nThis is a fork from https://github.com/signalstickers/signalstickers-client\n\nThis fork adds typing and remove dependencies version caps\n\n# Python client for Signal stickers\n\nA client to interact with the [Signal](https://signal.org/) stickers API.\n\n+ Fetch sticker packs\n+ Get images files\n+ Upload sticker packs\n+ etc.\n\n\n> Note: despite its name, this client does not interacts with\n> `signalstickers.org`, so information defined there (tags, etc.) will **not**\n> be fetched.\n\n> This client connects to the Signal sticker API. Please **do not flood it**\n> (you'll be blocked anyway).\n\n## Installation\n\n```bash\npip3 install --user signalstickers-client\n```\n\nThis module requires `cryptography`, `protobuf`, `anyio`, and `httpx` (but they\nshould be installed with the previous command).\n \n## Usage\n\nIf you are not familiar with Signal stickers, read\n[STICKERS_INTERNALS.md](STICKERS_INTERNALS.md) first.\n\n### Downloading a pack\nThe `StickerPack` object returned by `await\nStickersClient().get_pack(<pack_id>, <pack_key>)` exposes the following\nattributes:\n\n+ `id: str` the pack id. Equals to `pack_id`;\n+ `key: str` the pack key. Equals to `pack_key`;\n+ `title: str` the title of the pack;\n+ `author: str` the author of the pack;\n+ `nb_stickers: int` the number of stickers in the pack;\n+ `cover: Sticker` the cover sticker;\n+ `stickers: list[Sticker]` the list of stickers in the pack\n\nA `Sticker` object exposes the following attributes:\n\n+ `id: int` the id of the sticker in the pack;\n+ `emoji: str` the emoji mapped to this sticker;\n+ `image_data: bytes` the webp image of the sticker.\n\n\n### Uploading a pack\n\nSame thing, but use `LocalStickerPack` (that does not contains `id` and `key`)\ninstead of `StickerPack`.\n\n**You will need your Signal credentials!**\n\nTo obtain them, run the Signal Desktop app with the flag `--enable-dev-tools`,\nopen the Developer Tools, **change the JavaScript context from `top` to\n`Electron Isolated Context`** (cf. video below), and type\n`window.reduxStore.getState().items.uuid_id` to get your USER, and\n`window.reduxStore.getState().items.password` to get your PASSWORD.\n\n<details>\n  <summary><i>Video: how to set JavaScript context</i></summary>\n\nhttps://github.com/signalstickers/signalstickers-client/assets/7778898/ca3f1fec-e908-49d9-88a8-e33d0ee9a453\n\n</details>\n\n\n## Example usage\n\n[See `examples/`](examples/)\n\n## Development\n\n+ Create a `pipenv` with `pipenv install --dev`;\n+ Edit the code you want;\n+ Don't forget to launch tests with `pipenv run py.test`.\n\n## License\n\nSee\n[LICENSE](https://github.com/romainricard/signalstickers-client/blob/master/LICENSE)\n\n\n## Legal\n\nThis is not an official Signal project. This is an independant project.  \nSignal is a registered trademark in the United States and other countries.\n\n\n## Author\n\nRomain Ricard <contact+stickerclient@romainricard.fr>\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A client for the Signal stickers API",
    "version": "3.3.0.post1",
    "project_urls": {
        "Homepage": "https://github.com/laggykiller/signalstickers-client"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3cd4125cf220ad7e71c8d98493ef60be4a0c3cb3ece76f8c3afd74709d65c0b1",
                "md5": "21ce595a2e633a3845196e052e50a0ea",
                "sha256": "287f3aa89ddea8849263db72835e85284312272ab039d0e95ff584824d3df838"
            },
            "downloads": -1,
            "filename": "signalstickers_client_fork_laggykiller-3.3.0.post1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "21ce595a2e633a3845196e052e50a0ea",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 18032,
            "upload_time": "2024-04-12T16:40:20",
            "upload_time_iso_8601": "2024-04-12T16:40:20.948967Z",
            "url": "https://files.pythonhosted.org/packages/3c/d4/125cf220ad7e71c8d98493ef60be4a0c3cb3ece76f8c3afd74709d65c0b1/signalstickers_client_fork_laggykiller-3.3.0.post1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f7945d3b4fabde46b8e6eca10a07bfad9ba73c4feadef3030ac43b0d14a8e3d4",
                "md5": "5c6cd2628946aaa05cdccceab3d47213",
                "sha256": "d274e67a7098915ac29c571ad127c2a1e3607c11a81724b232ab929035748bb2"
            },
            "downloads": -1,
            "filename": "signalstickers_client_fork_laggykiller-3.3.post1.tar.gz",
            "has_sig": false,
            "md5_digest": "5c6cd2628946aaa05cdccceab3d47213",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 15861,
            "upload_time": "2024-04-12T16:40:23",
            "upload_time_iso_8601": "2024-04-12T16:40:23.279402Z",
            "url": "https://files.pythonhosted.org/packages/f7/94/5d3b4fabde46b8e6eca10a07bfad9ba73c4feadef3030ac43b0d14a8e3d4/signalstickers_client_fork_laggykiller-3.3.post1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-12 16:40:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "laggykiller",
    "github_project": "signalstickers-client",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "signalstickers-client-fork-laggykiller"
}
        
Elapsed time: 0.23886s