企业微信机器人,可以直接调用……
本帖最后由 Fujj 于 2022-4-1 09:05 编辑封装了一些企业微信机器人的调用方法:发送文字、发送图片、发送文件
import requests
import hashlib
import base64
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,name,filepath):
"""
:param name: 发送的文件名字,用于在企业微信上展示的
:param filepath: 本地实际文件路径
"""
fl = open(filepath, 'rb')
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 req['media_id'] is not None:
send_json = {
"msgtype": "file",
"file": {
"media_id": req['media_id']
}
}
requests.post(send_url=self.wxurl, json=send_json)
def send_message(self,content='',mentioned_list=[],mentioned_mobile_list=[] ):
"""
此方法用于发送文字消息
:param content: 文字内容
:param mentioned_list: (不是必填项)userid的列表,提醒群中的指定成员(@某个成员),@all表示提醒所有人,如果开发者获取不到userid,可以使用mentioned_mobile_list
:param mentioned_mobile_list:(不是必填项)手机号列表,提醒手机号对应的群成员(@某个成员),@all表示提醒所有人
"""
data = {
"msgtype": "text",
"text": {
"content": content,
"mentioned_list":mentioned_list,
"mentioned_mobile_list":mentioned_mobile_list
}
}
res = requests.post(self.wxurl,json=data).json()
print(res)
def send_img(self,filename):
"""
此方法用于发送图片
:param filename: 图片文件的路径
"""
png = filename
with open(png, "rb") as f:
md = hashlib.md5(f.read())
res1 = md.hexdigest()
with open(png, "rb") as f:
base64_data = base64.b64encode(f.read())
im_json = {
"msgtype": "image",
"image": {
"base64": str(base64_data, 'utf-8'),
"md5": res1
}
}
requests.post(self.wxurl, json=im_json)
使用方法:
if __name__ == '__main__':
bot = WeChatBot('3ee1db5e-3b11113-41d2-81f0-8243224fa5133d')
bot.send_file(name='测试.xlsx',filepath='./world.xlsx')
bot.send_message(content='1111',mentioned_list=['@all'])
bot.send_img(filename='./world/img.png')
企业微信群机器人,官方文档:https://open.work.weixin.qq.com/help2/pc/14931?person_id=1&is_tencent= gdcnjs 发表于 2022-5-10 14:56
今天成功了,可以发言了
不过不知道怎么添加定时提醒呢,这样到每天的10点,在群里面机器人发一句话 也不 ...
这个要自己再另外写逻辑了,我发的只是基础的调用功能 这个是管理员调用的,是吗 感谢分享。。 个人微信能用吗?辛苦了 zyqking 发表于 2022-4-1 09:18
个人微信能用吗?辛苦了
要企业微信才行! 感谢分享 这个得企业微信? Spa495 发表于 2022-4-1 09:37
这个得企业微信?
是的,这两个相当于是不同的软体 有成品没?求成品:内容可以根据自己需求导入。 收藏了以后可能会用到