diff --git a/sticker/stickerimport.py b/sticker/stickerimport.py index db176e4..1cfdb34 100644 --- a/sticker/stickerimport.py +++ b/sticker/stickerimport.py @@ -45,7 +45,7 @@ def add_meta(document: Document, info: matrix.StickerInfo, pack: StickerSetFull) if isinstance(attr, DocumentAttributeSticker): info["body"] = attr.alt info["id"] = f"tg-{document.id}" - info["net.maunium.telegram.sticker"] = { + info["info"]["net.maunium.telegram.sticker"] = { "pack": { "id": str(pack.set.id), "short_name": pack.set.short_name, @@ -73,7 +73,7 @@ async def reupload_pack(client: TelegramClient, pack: StickerSetFull, output_dir try: with util.open_utf8(pack_path) as pack_file: existing_pack = json.load(pack_file) - already_uploaded = {int(sticker["net.maunium.telegram.sticker"]["id"]): sticker + already_uploaded = {int(sticker["info"]["net.maunium.telegram.sticker"]["id"]): sticker for sticker in existing_pack["stickers"]} print(f"Found {len(already_uploaded)} already reuploaded stickers") except FileNotFoundError: @@ -97,7 +97,7 @@ async def reupload_pack(client: TelegramClient, pack: StickerSetFull, output_dir # If there was no sticker metadata, use the first emoji we find if doc["body"] == "": doc["body"] = sticker.emoticon - doc["net.maunium.telegram.sticker"]["emoticons"].append(sticker.emoticon) + doc["info"]["net.maunium.telegram.sticker"]["emoticons"].append(sticker.emoticon) with util.open_utf8(pack_path, "w") as pack_file: json.dump({ diff --git a/web/src/widget-api.js b/web/src/widget-api.js index d9964a7..f52db07 100644 --- a/web/src/widget-api.js +++ b/web/src/widget-api.js @@ -47,6 +47,11 @@ window.onmessage = event => { } export function sendSticker(content) { + if (content["info"]["net.maunium.telegram.sticker"] === undefined) { + // Old sticker, move the property to its new location + content["info"]["net.maunium.telegram.sticker"] = content["net.maunium.telegram.sticker"]; + delete content["net.maunium.telegram.sticker"]; + } const data = { content: { ...content }, // `name` is for Element Web (and also the spec)