linjian648 发表于 2024-8-8 16:45

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

最近折腾手机电脑的文件互传,发现小文件用企业微信群机器人来传也不错,毕竟其实传到手机的文件大部分都是因为不想用电脑登微信而需要发给别人的,所以直接传到微信也可以了。
首先,前提是需要申请个企业微信机器人的key,具体可以网上搜。
下面是实现过程
写一个py脚本,然后用注册表写入右键菜单就行了。
wechat_bot.py
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
    bot.send_file(filepath)

创建一个名为 add_context_menu.reg 的注册表文件,并添加以下内容:

Windows Registry Editor Version 5.00


@="发送至企业微信"


@="\"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 发表于 2024-8-8 21:27

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

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

spyer 发表于 2024-8-8 17:41

好强!                         楼主太厉害了

ubugdebug 发表于 2024-8-8 18:12

这样太方便了{:1_893:}

windindind 发表于 2024-8-8 18:39

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

Figxas 发表于 2024-8-8 20:18

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

hygqx6 发表于 2024-8-8 21:42

这个值得学习学习

jtui6999 发表于 2024-8-8 22:15

学习来了            

小小小酥 发表于 2024-8-9 10:29

感谢大佬分享

ppszxc 发表于 2024-8-9 10:48

本帖最后由 ppszxc 于 2024-8-9 11:13 编辑

reg导入后,右键菜单乱码,win10系统不正常,win7正常,然后运行regedit到注册表里修改解决
页: [1] 2
查看完整版本: 基于企业微信群机器人的右键发送文件到微信