Automatically upload Signal stickers from a given path and YAML configuration
The package is available in PyPI, through pip:
$ pip3 install packpathBut you can also simply checkout this repository and run it as a module:
$ git clone https://github.com/diegoe/packpath.git $ cd packpath $ python3 -m packpath (plus arguments, see below)packpath reads a path and loads a config.yaml file from it to automatically fill a signalstickers-client client, and submit stickers.
It subclasses signalstickers_client.models.LocalStickerPack to add a load_path() method.
You need to provide your username and password, as well as the path to a sticker directory containing a config.yaml file. See below for details on both, or run packpath --help:
$ packpath --user [uuid_id] --password [password] [path_to_sticker_dir] # Most of this README and its instructions are available in the # command's help: $ packpath --helpThe YAML format is rather simple:
pack: title: Your sticker pack title author: An author name cover: filename-for-the-cover.png stickers: filename.png: 👀 another-filename.png: 👋 (...)To save yourself some work, you can use ls to output an almost ready list of filenames to use on your config.yaml:
$ ls -1 >> config.yamlFrom https://github.com/signalstickers/signalstickers-client#uploading-a-pack:
You will need your Signal credentials To obtain them, open the Developer Tools in Signal Desktop, and type window.reduxStore.getState().items.uuid_id to get your USER, and window.reduxStore.getState().items.password to get your PASSWORD.
The above is also available in python3 -m packpath --help.
This is a simple wrapper on top of the very handy signalstickers-client.
Go check it out.
All boiler plate disclaimers apply. But also please be respectful of Signal's service. Don't abuse this or any other script. This is meant to help legitimate users make the most of the service.
Make sure to run flake8 on any changes you make, and also to run the tests:
$ flake8 packpath $ python3 -m unittest discover