基于企业微信群机器人的右键发送文件到微信

查看 118|回复 9
作者:linjian648   
最近折腾手机电脑的文件互传,发现小文件用企业微信群机器人来传也不错,毕竟其实传到手机的文件大部分都是因为不想用电脑登微信而需要发给别人的,所以直接传到微信也可以了。
首先,前提是需要申请个企业微信机器人的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 文件以导入注册表设置。系统会提示你确认导入,点击“是”即可。

文件, 企业

linjian648
OP
  


Figxas 发表于 2024-8-8 20:18
我iPad、笔记本和安卓手机之间用的localsend,全平台的局域网传输,贼好用哈哈哈

也折腾过,装过爱传送,局域网传输也可以,还可以传大文件,这种还可以虚拟组网,实现外网也能用这些局域网的来传输。不过这些还是要多装一个后台应用,手机还是喜欢干净点,才折腾webhook
spyer   

好强!                         楼主太厉害了
ubugdebug   

这样太方便了
windindind   

这都能想到,还能这样用企业微信机器人
太方便了,赶紧试试
Figxas   

我iPad、笔记本和安卓手机之间用的localsend,全平台的局域网传输,贼好用哈哈哈
hygqx6   

这个值得学习学习
jtui6999   

学习来了              
zjtzjt   

感谢分享,转发文件很方便
小小小酥   

感谢大佬分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部