Telegram提取Stickers到Wechat

步骤1(使用telegram Bot转换出Stickers)

在Telegram上用global寻找一些可用的stickers转换机器人,将其批量转换为jpg等图片格式,压缩整合打包后下载到本地

image-20201022193440141

步骤2(批量转换各种非gif格式)

由于wechat的奇怪特性,只有格式为GIF的图片才可以激活右键某图片出现的<添加到表情>按钮,所以所有的图片都要变为GIF

转换过程省略。条条大路通罗马

同时修改微信的设置

image-20201022203130853

步骤3 (批量导入表情)

由于微信自身不带有任何批量导入的功能,所以用户可以通过某些助手来帮助表情包的批量导入,或者,通过Python:sunglasses:

代码如下,(参考)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import os
import pyautogui # 自动按键
import pyperclip # 操作剪贴板
from tqdm import tqdm_notebook # 进度条

pyautogui.PAUSE = 1 # 暂停时长,1s差不多了

file_path = "X:\\xxx\\"

position_send_file = pyautogui.position() # 取坐标 发送文件按钮

position_new_photo = pyautogui.position() # 取坐标 新发的图片

position_add_emoji = pyautogui.position() # 取坐标 添加到表情

file_name_list = os.listdir(file_path) # 所有的文件名

for file_name in tqdm_notebook(file_name_list):
if file_name.endwith("gif")==False:
print("error, please check "+file_name)
continue
pyperclip.copy(file_path + file_name) # 文件名拷到剪贴板
pyautogui.click(position_send_file) # 发送文件
pyautogui.hotkey('ctrl', 'v') # 粘贴到文件框
pyautogui.hotkey('enter') # 打开
pyautogui.hotkey('enter') # 发送
pyautogui.click(position_new_photo, button='right') # 右键新发的图片
pyautogui.click(position_add_emoji) # 添加到表情

Jupyter源文件

分析:

由于微信的种种限制,直接用实现类似按键精灵一样的代码语言去直接操作,重复简单的手动过程,是实现微信各种批处理的最有效直接的方法。

以上代码采用pyautoguipyperclip来模拟用户操作,由于需要读取尺寸坐标,所以该代码最好的方法是在jupyter上运行,运用juypter上的cell运行特质,逐步给各个操作正确的尺寸定位,以完成后续批处理时的正确点击。

成果

image-20201022205125871

image-20201022205159088

⬆︎UP