Skip to main content

Telegram sticker sets creation automated (partially).

Features

PyTgASU frees you from selecting files and emojis repeatedly when creating sticker sets on Telegram.

Better yet, it makes sticker sets kind of “distributable” and “installable”.

Motivation

There was a Telegram Stickers Uploader (link dead, don’t bother), but:

  1. It has limited choices of emojis
    • Well, 250. Really? This is not enough. UTR #51 4.0 defined 910 code points with Emoji_Presentation=Yes.

  2. It does not work with current Telegram Desktop
    • It does send commands through it, but it cannot upload anything. At least not for me.

And now pytgasu comes to your rescue.

Installation

Requirement

  • Python >= 3.6

Dependency

Use pip to install:

$ pip install pytgasu

or

$ git clone https://github.com/alemonmk/pytgasu.git
$ cd pytgasu
$ pip install .

Usage

Prepare set

pytgasu needs to work with set definition file for each sticker set you want to create.

Telegram also has limitations on sticker images.

You can take care of all above with this command:

$ pytgasu prepare <dir>...

At first launch it will ask you paths to some tools (namely pngquant and waifu2x-caffe), if you prefer not using any of them you can just leave it empty. This saves a yaml-formatted configuration file at ~/.pytgasu/asu.cfg.

You need to provide a descriptive name of the set, and a short name that enables you to share it with https://t.me/addsticker/<short_name>.

Finally open the generated .def file(s) with text editor of your choice to assign emojis (and only emojis, preferably copied from Telegram).

Upload sticker sets

Once you are done editing the .def file(s), let pytgasu do the heavy lifting.

$ pytgasu upload [-s] (<dir>|<path_to.def>)...

By specifying -s, you will be automatically subscribed to the set once it’s uploaded.

You have to log in to Telegram at the first run. A session file will be created at ~/.pytgasu/asu.session.

Log out of Telegram

If you have no more business with pytgasu, you may want to log it out from Telegram.

$ pytgasu logout

This terminates your session to Telegram, deletes the stored session file and its folder, saving you few clicks in other Telegram client and file manager.

Limitions & TODOs

  1. No GUI.
    • Well…I hope you are crazy enough to make one for me ;)

Contributing

You may request new features, report bugs or leave suggestions through GitHub issue, or just code and fire a pull request.

You may contact me via e-mail if you want to stay private or just don’t bother with GitHub.

Stuff in need

  • Tests. Preferably something nose uses.

  • Better documents. There’s not much to document though …

  • Feature requests. Keep it simple, don’t complicate this tool.

  • Debug. I’m not that exhaustive and may leave edge cases here and there.

Author

(c) 2017 Lemon Lam <’%s@%s’ % (‘almk’, ‘rmntn.net’)>

License

Licensed under GNU General Public License Version 3.

Metadata

Release files for pytgasu 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytgasu 0.2.1
File Size Uploaded
pytgasu-0.2.1.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytgasu 0.2.1
File Interpreter ABI Platform
pytgasu-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 34.9 kB

Release files / pytgasu-0.2.1.tar.gz

Download URL pytgasu-0.2.1.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
aa91c892a8669ebf39cfa641be6dadf2bd9e63011fd03698dd09142d1e8e19d2
BLAKE2b-256 checksum
How to use checksums
ca1b81beb3729550aab3fac849b0d61355bd9b4b8333a13f530034790707ef82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.22.0 CPython/3.6.1

Release files / pytgasu-0.2.1-py3-none-any.whl

Download URL pytgasu-0.2.1-py3-none-any.whl
Size 21.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fb2a0f5629d462986d3887ec0be7c6d61638a99e10162160705d2945446b6f80
BLAKE2b-256 checksum
How to use checksums
b3b2980835ae36a67df4cd6c203b2872858f2dbadc5391f34b50a71ebdc58096
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.22.0 CPython/3.6.1

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page