This commit is contained in:
hackrobot
2024-04-28 14:29:38 +08:00
parent 57b2281581
commit 68f5fbc10a

90
main.py
View File

@@ -44,6 +44,55 @@ def is_chinese(char):
return '\u4e00' <= char <= '\u9fff'
def chatglmApi(msg, data, group, account_wxid, wxid, wx_name):
# 不是自己发的消息
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}
print("msg=====>",msg)
newPayload = json.loads(json.dumps(payload))
res = requests.post(winHookUrl, json=newPayload)
r = res.json()
answer = r.get("answer", "No answer provided")
# 收到群聊消息
if group:
# 异度世界交流群2 48357370389@chatroom | 小号群18507867712@chatroom
if group == "18507867712@chatroom" or group == "48357370389@chatroom":
# 群聊被@
if "@异度世界" in msg:
groupanswer = f'@{wx_name} ,{answer} \n [本消息是机器人bot自动回复]'
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:
# 发送 @ 消息
WXBotService.send_at_message(robot_wxid=account_wxid,
from_wxid=group,
msg=groupanswer,
wx_list=wxid)
else:
# 其他群组消息,不做响应
pass
else:
# 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)
def convert_special_chars_to_emoji(input_string):
output = []
for char in input_string:
@@ -431,18 +480,19 @@ def kp(event_data):
if msg_type == 1: # 1 文本消息/自带表情
kp_log = f'{type_str} 文本消息 内容:{msg}'
# 收到群聊消息
if group:
# 异度世界交流群2 48357370389@chatroom | 小号群18507867712@chatroom
if group=="18507867712@chatroom" or group=="48357370389@chatroom":
if group == "18507867712@chatroom" or group == "48357370389@chatroom":
# 群聊被@
if "@异度世界" in msg:
# 发送 @ 消息
WXBotService.send_at_message(robot_wxid=account_wxid,
from_wxid=group,
msg=f'@{wx_name} testgroup',
wx_list=wxid)
WXBotService.send_at_message(
robot_wxid=account_wxid,
from_wxid=group,
msg=f'@{wx_name} testgroup',
wx_list=wxid)
else:
# 其他群组消息,不做响应
pass
@@ -485,32 +535,8 @@ def kp(event_data):
"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)
# 回复ai消息
chatglmApi(msg, data, group, account_wxid, wxid, wx_name)
# if msg in ['腾讯云']:
# # 发送小程序