2020-09-05 02:36:31 +03:00
2020-09-05 02:31:34 +03:00
2020-09-05 02:31:34 +03:00
2020-09-05 02:31:34 +03:00
2020-09-05 02:31:34 +03:00
2020-09-05 02:31:34 +03:00
2020-09-05 02:36:31 +03:00
2020-09-05 02:31:34 +03:00

Maunium sticker picker

A fast and simple Matrix sticker picker widget. Tested on Element Web & Android.

Importing packs from Telegram

  1. (Optional) Set up a virtual environment.
    1. Create with virtualenv -p python3 .
    2. Activate with source ./bin/activate
  2. Install dependencies with pip install -r requirements.txt
  3. Copy example-config.json to config.json and set your homeserver URL and access token (used for uploading stickers to Matrix).
  4. Run python3 import.py <pack urls...>
    • On the first run, it'll prompt you to log in with a bot token or a telegram account. The session data is stored in sticker-import.session by default.
    • By default, the pack data will be written to web/packs/.
    • You can pass as many pack URLs as you want.
    • You can re-run the command with the same URLs to update packs.

If you want to list the URLs of all your saved packs, use python3 import.py --list. This requires logging in with your account instead of a bot token.

Enabling the sticker widget

  1. Serve everything under web/ using your webserver of choice. Make sure not to serve the top-level data, as config.json and the Telethon session file contain sensitive data.

  2. Using /devtools in Element Web, edit the m.widgets account data event to have the following content:

    {
        "stickerpicker": {
            "content": {
                "type": "m.stickerpicker",
                "url": "https://your.sticker.picker.url/index.html",
                "name": "Stickerpicker",
                "data": {}
            },
            "sender": "@you:picker.url",
            "state_key": "stickerpicker",
            "type": "m.widget",
            "id": "stickerpicker"
        }
    }
    

    If you do not yet have a m.widgets event, simply create it with that content. You can also use the client-server API directly instead of using Element Web.

  3. Open the sticker picker and enjoy the fast sticker picking experience.

Preview

Element Web

Element Web

Element Android

Element Android

Description
No description provided
Readme AGPL-3.0 153 MiB
Languages
JavaScript 41.9%
Python 38.6%
Sass 11.4%
Go 4.5%
HTML 1.7%
Other 1.9%