最近折腾手机电脑的文件互传,发现小文件用企业微信群机器人来传也不错,毕竟其实传到手机的文件大部分都是因为不想用电脑登微信而需要发给别人的,所以直接传到微信也可以了。
首先,前提是需要申请个企业微信机器人的key,具体可以网上搜。
下面是实现过程
写一个py脚本,然后用注册表写入右键菜单就行了。
wechat_bot.py
[Python] 纯文本查看 复制代码 import requests
import sys
import os
class WeChatBot:
def __init__(self, key):
self.key = key
self.wxurl = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=' + key
def send_file(self, filepath):
"""
:param filepath: 本地实际文件路径
"""
name = os.path.basename(filepath)
with open(filepath, 'rb') as fl:
files = {'files': (name, fl, 'application/octet-stream', {'Expires': '0'})}
url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=' + self.key + '&type=file'
req = requests.post(url, files=files).json()
# 把文件上送至企业微信服务器,生成media_id
if 'media_id' in req:
send_json = {
"msgtype": "file",
"file": {
"media_id": req['media_id']
}
}
requests.post(self.wxurl, json=send_json)
else:
print("Error: Failed to upload file.")
print(req)
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: drag and drop a file onto this script")
sys.exit(1)
key = "你的企业微信机器人Webhook Key"
bot = WeChatBot(key)
filepath = sys.argv[1]
bot.send_file(filepath)
创建一个名为 add_context_menu.reg 的注册表文件,并添加以下内容:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\SendToWeChat]
@="发送至企业微信"
[HKEY_CLASSES_ROOT\*\shell\SendToWeChat\command]
@="\"C:\\path\\to\\your\\python.exe\" \"C:\\path\\to\\your\\wechat_bot.py\" \"%1\""
请将 C:\\path\\to\\your\\python.exe 替换为实际的 Python 解释器路径,将 C:\\path\\to\\your\\wechat_bot.py 替换为实际的 Python 脚本路径。
应用注册表文件
双击 add_context_menu.reg 文件以导入注册表设置。系统会提示你确认导入,点击“是”即可。
|