From 0638720b1d0d17055adeedc97ed899d89a6458d5 Mon Sep 17 00:00:00 2001 From: xtaodada Date: Sun, 3 Jul 2022 20:50:16 +0800 Subject: [PATCH] =?UTF-8?q?sticker=5Ftransfer=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- list.json | 4 ++-- sticker_transfer/main.py | 27 +++++++++++++++++---------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/list.json b/list.json index a0e63fe..49b5d7f 100644 --- a/list.json +++ b/list.json @@ -262,10 +262,10 @@ }, { "name": "sticker_transfer", - "version": "1.0", + "version": "1.01", "section": "chat", "maintainer": "xtaodada", - "size": "3.24 kb", + "size": "3.5 kb", "supported": true, "des-short": "贴纸迁移", "des": "贴纸迁移。\n指令:,sticker_transfer" diff --git a/sticker_transfer/main.py b/sticker_transfer/main.py index f52e4d6..fca8205 100644 --- a/sticker_transfer/main.py +++ b/sticker_transfer/main.py @@ -3,6 +3,7 @@ import csv from asyncio import sleep +from os import sep from pyrogram.errors import StickersetInvalid, FloodWait from pyrogram.raw.functions.messages import GetAllStickers @@ -27,7 +28,7 @@ async def export_sticker_to_csv(): sticker_set.archived if hasattr(sticker_set, "archived") else False, sticker_set.animated if hasattr(sticker_set, "animated") else False, sticker_set.videos if hasattr(sticker_set, "videos") else False, ]) - return True + return len(stickers.sets) async def import_sticker(short_name): @@ -60,25 +61,31 @@ async def import_sticker_from_csv(file_name): @listener(command="sticker_transfer", need_admin=True, parameters="导出/导入", - description="导出、导入已安装的贴纸") + description="导出、导入已安装的贴纸包") async def sticker_transfer(message: Message): if message.arguments == "导出": - await export_sticker_to_csv() - await bot.send_document(message.chat.id, "stickers.csv", caption="贴纸导出文件") - safe_remove("stickers.csv") - await message.safe_delete() + num = await export_sticker_to_csv() + if num: + await bot.send_document(message.chat.id, + "stickers.csv", + caption=f"贴纸包导出文件,成功导出了 {num} 个贴纸包", + thumb=f"pagermaid{sep}assets{sep}logo.jpg",) + safe_remove("stickers.csv") + await message.safe_delete() + else: + await message.edit("没有贴纸包可以导出") elif message.arguments == "导入": reply = message.reply_to_message if not reply: - return await message.edit("❌ 请回复贴纸导出文件") + return await message.edit("❌ 请回复贴纸包导出文件") if not reply.document: - return await message.edit("❌ 请回复贴纸导出文件") + return await message.edit("❌ 请回复贴纸包导出文件") if not reply.document.file_name.endswith(".csv"): - return await message.edit("❌ 请回复贴纸导出文件") + return await message.edit("❌ 请回复贴纸包导出文件") message = await message.edit("导入中") file_name = await reply.download() success, failed = await import_sticker_from_csv(file_name) safe_remove(file_name) - await message.edit(f"导入成功 {success} 个贴纸,失败 {failed} 个贴纸") + await message.edit(f"导入成功 {success} 个贴纸包,失败 {failed} 个贴纸包") else: await message.edit("❌ 参数错误,请选择 `导出` 或 `导入` ")