pytgasu

Telegram sticker sets creation automated (partially).


Keywords
Telegram, stickers
License
GPL-3.0
Install
pip install pytgasu==0.1.0

Documentation

PyTgASU

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.