This commit is contained in:
hackrobot
2024-04-28 13:57:09 +08:00
parent 73db19edcf
commit b51f8c5439

156
main.py
View File

@@ -341,7 +341,7 @@ def kp(event_data):
event_type = event_data.get('event_type') #事件类型
account_wxid = event_data.get('account_wxid') #机器人id
data = event_data.get('data')
print('data===>',data)
print('data===>', data)
# global globalMsgData
# globalMsgData=event_data.get('data')
msg_type = data.get('msgtype') #消息类型
@@ -352,10 +352,12 @@ def kp(event_data):
subtype = data.get('subtype') #类型
thumbpath = data.get('thumbpath') #图片,存在电脑绝对路径
wxid = data.get('final_from_wxid') #消息来源用户
wx_name = data.get('final_from_name')
wxid = data.get('final_from_wxid') #消息来源-用户wxid
wx_name = data.get('final_from_name') #消息来源-用户名字
# 群聊id
group = None if data.get('from_wxid') == wxid else data.get('from_wxid')
# 群聊名称
group_name = None if data.get('from_name') == wx_name else data.get(
'from_name')
'''event类型判断'''
@@ -424,75 +426,93 @@ def kp(event_data):
else:
type_str = f'机器人电脑端 发送的 ' + type_str
# from_wxid': '18507867712@chatroom'
if msg_type == 1: # 1 文本消息/自带表情
kp_log = f'{type_str} 文本消息 内容:{msg}'
if msg in ['工具箱']:
# 发送小程序
utils.sendminiProgram(data, account_wxid, wxid, planetXml)
# if msg in ['加群']:
if msg == '加群':
# 将好友信息=>保存到数据库
newFriendDict = WXBotService.get_friend_info(
account_wxid, wxid)
# print('newFriendDict[data]---',newFriendDict['data'])
userClass = models.User(**(newFriendDict['data']))
# print('userClass====',type(userClass))
# crud.create_user(db=SessionLocal(),user=userClass)
# 保存好友信息
# utils.saveWxidInfo(account_wxid, wxid)
# 直接邀请加群>40
# WXBotService.add_group_members_40_more(robot_wxid='wxid_sfvsru738v3122',
# from_wxid='49187487591@chatroom',
# new_wxid='wxid_4413224132412')
# print("data", data)
# if "emoji" in wx_name:
# # 发送小程序
# utils.sendminiProgram(data, account_wxid, wxid, planetXml)
# else:
# H5链接
WXBotService.send_link_message(
account_wxid,
wxid,
title="欢迎加入微信群",
desc="请查看规则",
url=
f'https://link.hackrobot.cn#/pages/index/index?wxid={wxid}',
pic=
"https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-cropped-Screenshot-2023-05-22-at-17.26.38.png"
)
# 收到群聊消息
if group:
# 异度世界交流群2
if group=="18507867712@chatroom":
# 群聊被@
if "@异度世界" in msg:
WXBotService.send_text_message(robot_wxid=account_wxid,
# from_wxid=wxid,
from_wxid=group,
msg="testgroup")
else:
pass
else:
pass
# # 判断私聊还是群聊
# # 指定群聊房间
# # 不是自己发的消息
# if data.get('isSender') != 1:
# # chaglm api在本地8000端口
# # winHookUrl='http://192.168.31.184:8000/img'
# winHookUrl = 'http://chatbot.hackrobot.cn/img'
# payload = {'query': msg}
# newPayload=json.loads(json.dumps(payload))
# res = requests.post(winHookUrl, json=newPayload)
# r = res.json()
# answer = r.get("answer", "No answer provided")
# # newanswer="@"+wx_name+", "+answer
# if "/img" in msg:
# newanswer = re.sub(r'#web_img\s+', '', answer)
# WXBotService.send_image_message(robot_wxid=account_wxid,
# from_wxid=wxid,
# msg=newanswer)
# else:
# newanswer=f'@{wx_name} ,{answer} \n [本消息是机器人bot自动回复]'
# print(newanswer)
# WXBotService.send_text_message(robot_wxid=account_wxid,
# from_wxid=wxid,
# msg=newanswer)
# pass
if msg in ['工具箱']:
# 发送小程序
utils.sendminiProgram(data, account_wxid, wxid, planetXml)
# if msg in ['加群']:
if msg == '加群':
# 将好友信息=>保存到数据库
newFriendDict = WXBotService.get_friend_info(
account_wxid, wxid)
# print('newFriendDict[data]---',newFriendDict['data'])
userClass = models.User(**(newFriendDict['data']))
# print('userClass====',type(userClass))
# crud.create_user(db=SessionLocal(),user=userClass)
# if msg in ['腾讯云']:
# # 发送小程序
# utils.sendminiProgram(data, account_wxid, wxid, tengxunyunXml)
# 保存好友信息
# utils.saveWxidInfo(account_wxid, wxid)
# 直接邀请加群>40
# WXBotService.add_group_members_40_more(robot_wxid='wxid_sfvsru738v3122',
# from_wxid='49187487591@chatroom',
# new_wxid='wxid_4413224132412')
# print("data", data)
# if "emoji" in wx_name:
# # 发送小程序
# utils.sendminiProgram(data, account_wxid, wxid, planetXml)
# else:
# H5链接
WXBotService.send_link_message(
account_wxid,
wxid,
title="欢迎加入微信群",
desc="请查看规则",
url=
f'https://link.hackrobot.cn#/pages/index/index?wxid={wxid}',
pic=
"https://www.hackrobot.cn/wp-content/uploads/2023/05/cropped-cropped-Screenshot-2023-05-22-at-17.26.38.png"
)
else:
pass
# # 判断私聊还是群聊
# # 指定群聊房间
# # 不是自己发的消息
# if data.get('isSender') != 1:
# # chaglm api在本地8000端口
# # winHookUrl='http://192.168.31.184:8000/img'
# winHookUrl = 'http://chatbot.hackrobot.cn/img'
# payload = {'query': msg}
# newPayload=json.loads(json.dumps(payload))
# res = requests.post(winHookUrl, json=newPayload)
# r = res.json()
# answer = r.get("answer", "No answer provided")
# # newanswer="@"+wx_name+", "+answer
# if "/img" in msg:
# newanswer = re.sub(r'#web_img\s+', '', answer)
# WXBotService.send_image_message(robot_wxid=account_wxid,
# from_wxid=wxid,
# msg=newanswer)
# else:
# newanswer=f'@{wx_name} ,{answer} \n [本消息是机器人bot自动回复]'
# print(newanswer)
# WXBotService.send_text_message(robot_wxid=account_wxid,
# from_wxid=wxid,
# msg=newanswer)
# if msg in ['腾讯云']:
# # 发送小程序
# utils.sendminiProgram(data, account_wxid, wxid, tengxunyunXml)
elif msg_type == 3: # 3 图片消息
kp_log = f'{type_str} 图片消息 内容:{filepath}'