Currently existing support for stickers in Bot API does not at all consider use-cases where the bot generates one-off stickers on the fly (my specific use-case: I take the stickers that the user send in, modify them, and send them back). With the addition of .WEBM stickers it has become even more apparent: whilst previously you could at least use sendSticker to upload and send local.webp and .tgs files without creating a sticker set (and it would display fine on the client), you can't do the same with .webm - it will get sent as a document for no apparent reason. So you have to create a sticker set.
But you can only create a sticker set for a specific user, a user that has already started a dialog with your bot. This rules out any possibility of generating .webm stickers on the fly for group chat users, so you are forced to create and manage a sticker set on your "admin" user.
You also can't create a sticker set, send a sticker and then delete the set: there is no deleteStickerSet function (there really needs to be one)
And addStickerToSet returns true instead of fileID (it really needs to return fileID), so bot creators are forced to
make an additional, absolutely unneeded request to getStickerSet to get the whole sticker set and then
use thread synchronization on the whole thing, to make sure that the last added sticker in the set is indeed the one they want to send (and then delete, so the users don't see stickers from other groups/chats when the add the set)
So, here are the actionable parts of the whole suggestion:
Allow uploading and sending .webm via sendSticker without creating a sticker set
Add a new function deleteStickerSet that will allow deleting sticker sets created by the bot
Add an additional field to responses of createNewStickerSet and addStickerToSet that will have a fileID of the newly added sticker
Log in here to report bugs or suggest features. Please enter your phone number in the international format and we will send a confirmation message to your account via Telegram.