day15-影刀对接Coze实现微信自动回复

今日内容

0 抖音评论写入excel-bug

# 1 任何软件都是有bug,只是没被发现
	- 支付宝,微信--》他们有没有bug?
    	-他们知道--》并没修复的bug就非常多
        -他们至今没发现的bug---》漏洞挖掘工程师
        
# 2 问题:
	拿到抖音某个视频,评论数据后--》写入excel出bug了--》写不进去
    	-None写不到excel中
# 3 结论:
	有的用户名,前面有个 = ---》是个字符串   =听风者=--->往excel中写---》excel认为这是公式--》写不进去
    
    
# 4 某app---》后台用java写的----》null--》代表空
	-有个用户,用户名写成了null,系统崩了
    
    
# 5 解决:
[loop_item[0],loop_item[1],loop_item[2],loop_item[3]]
人名               评论内容    评论时间        点赞数
一行行往excel中写
洛丹伦的夏天  	  那尔那茜   就这样 .... 过去啦??	   1周前·云南	  8

人名或评论内容,以 = 开头
# 解决:简单粗暴--》把字符串中  ,替换成 " "
[str(loop_item[0]).replace('=', '666'), str(loop_item[1]).replace('=', ''), str(loop_item[2]),loop_item[3]]



# 6 文件被占用的问题:
	刚刚使用wps,打开了 那个excel --》这个excel被 wps进程占用了
    影刀去打开,写这个excel 时,就会报错

image-20251204202215268

image-20251204194924398

image-20251204194935995

0.2 解决-写入内容到excel时,代码替换成如下

# 1 方式一
[str(loop_item[0]).replace('=', ''), str(loop_item[1]).replace('=', ''), str(loop_item[2]),loop_item[3]]

#2 方式二 
[str(loop_item[0]).replace('', '').replace('@', '').replace('=', ''), str(loop_item[1]).replace('', '').replace('@', '').replace('=', ''), str(loop_item[2]),loop_item[3]]

1 影刀对接coze

# 1 影刀是自动化工具---》模拟人类操作电脑的行为----》缺大脑[不能推理,创作]---》对接coze
	-完整流程:
    	1 先自动化操作
        2 遇到需要推理,创作的东西---》对接coze/dify---》API
        	-Api:两个软件之间通信
        3 推理完后,继续后续操作
        
# 2 企业微信,自动回复

1.1 介绍

# 1 我们使用企业微信---》加了很多客户---》客户可以通过微信,跟我们企业微信聊天
	我们用企业微信    客户用普通微信
    
# 2 假设我们公司做留学咨询的
	-客户,可能会问一些留学专业的问题
    	-高中成绩500分,能去哪个美国高校?
        -家庭年收入30w,又想国外留学,推荐个学校?
    -正常情况,人工,看到问题,凭借人工经验--》回复
    
    
# 3 之前讲coze智能体,记忆---》RAG--》在智能体中引入我们自己的资料--》问智能体时,智能体会从我们资料中搜索--》给答案


# 4 把影刀和coze对接后--》呈现的效果
	-客户问企业微信问题---》可以智能的回答

1.2 步骤

# 1 打开企业微信
	打开或运行
    
# 2 循环相似元素
	-有红点,未读消息的
    
## 2.1 点击元素
	-来到聊天界面
## 2.2 设置一个变量--》last_text--》取出当前聊天对方的最后一条消息
	-目前我们只自动回复最后一条
    -目前是 空
    -全局都有效--》在任意位置使用这个变量都可以
    
## 2.3 循环相似元素--》对方发送消息有很多--》循环后,只取最后一条
	-循环对方聊天记录
    -获取所有聊天记录
###  2.3.1 设置变量 --》把最后一条记录,赋值给 last_text
	-如果在这设置并赋值--》这个变量,只能在循环中使用,出了循环就不能用了
    
## 2.4 循环结束  
## 2.5 调用模块
	-影刀使用python编写的模块
    -python调用coze智能体---》智能体发布,使用python代码调用--》api
    	-token
        -智能体的id
	-拿着最后一条聊天--》调用coze--》coze回复回来
    -coze回复的内容,给了一个变量
## 2.6 填写输入框
	-coze回复的内容,填进去
    
## 2.7 键盘输入
	-回车
## 3 循环结束

1.3 创建Coze智能体-发布

# 1 创建coze智能体
# 2 发布--》发布api

# 3 之前学习过使用python调用智能体
	-token
    -智能体id

# 4 获取令牌:token和智能体的id
	-智能体id号:7579986740874608682
    -token:pat_cdMS4OkHmHSSOB5ke5vyVs7AZ5S63AjNZ7UbEZox7ks3pBbPTgy7JOwygkl3KT6Y

1.4 使用模块调用

1.4.1 主流程和子流程

image-20251204212535680

1.4.2 Python子流程-下载第三方模块

# 1 使用代码,调用coze
	-python需要使用:cozepy:coze官方提供的,httpx 模块,才能调用成功
    -之前在电脑上,pycharm中写, pip install coze  装好模块
    -现在要在影刀这个软件上装 coze,httpx 模块
    
# 2 如下操作,在影刀上装python第三方模块
	-python内置模块:os,json。。。  不需要额外安装
    -第三方模块:cozepy,requests。。。 需要额外安装

image-20251204213036829

image-20251204213133833

image-20251204213223174

1.5 python代码实现对coze智能体的调用

你们代码不懂,只需要替换自己的 智能体 id和token即可

第1 和第2,替换成你们的即可

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
from cozepy import COZE_CN_BASE_URL
import time
from cozepy import Coze, TokenAuth, Message, ChatStatus, MessageContentType, ChatEventType  
##### 上面都是导入模块,包########
# 1 改成你们的token--》发布了智能体拿到的
coze_api_token = 'pat_cdMS4OkHmHSSOB5ke5vyVs7AZ5S63AjNZ7UbEZox7ks3pBbPTgy7JOwygkl3KT6Y'
# 2 改成你们coze智能体id
bot_id = '7579986740874608682'
# 3 coze官方提供个Cozepy模块,链接coze智能体,创建coze对象
coze_api_base = COZE_CN_BASE_URL
coze = Coze(auth=TokenAuth(token=coze_api_token), base_url=coze_api_base)

# 4 对话用户名,可以随便写
user_id = 'lqz'

def main(args):
    # 5 使用coze对象(人),跟coze发起对话
    chat = coze.chat.create(
        bot_id=bot_id,
        user_id=user_id,
        additional_messages=[
            Message.build_user_question_text(args) # 调用模块时传入的参数,微信的最后一条记录
        ],
    )
    start = int(time.time())
    # 6 超时时间600秒,跟coze对话,由于通过网络,可能网不好,通信时间超过600s,就断开
    timeout = 600
    # 7 拿到微信最后一条记录,跟coze对话,coze返回给我们
    while chat.status == ChatStatus.IN_PROGRESS:
        if int(time.time()) - start > timeout:
            coze.chat.cancel(conversation_id=chat.conversation_id, chat_id=chat.id)
            break

        time.sleep(1)
        chat = coze.chat.retrieve(conversation_id=chat.conversation_id, chat_id=chat.id)

    messages = coze.chat.messages.list(conversation_id=chat.conversation_id, chat_id=chat.id)

    for message in messages:
        if(message.type == "answer") :
            answer = message.content
    # 8 coze智能体返回的 文字内容
    return answer

1.6 具体操作

# 1 打开企业微信
	打开或运行

# 2 循环相似元素
	-有红点,未读消息的
    
## 2.1 点击元素
	-来到聊天界面
## 2.2 设置一个变量--》last_text--》取出当前聊天对方的最后一条消息
	-目前我们只自动回复最后一条
    -目前是 空
    -全局都有效--》在任意位置使用这个变量都可以
    
## 2.3 循环相似元素--》对方发送消息有很多--》循环后,只取最后一条
	-循环对方聊天记录
    -获取所有聊天记录
###  2.3.1 设置变量 --》把最后一条记录,赋值给 last_text
	-如果在这设置并赋值--》这个变量,只能在循环中使用,出了循环就不能用了
    
## 2.4 循环结束  

## 2.5 调用模块
	-影刀使用python编写的模块
    -python调用coze智能体---》智能体发布,使用python代码调用--》api
    	-token
        -智能体的id
	-拿着最后一条聊天--》调用coze--》coze回复回来
    -coze回复的内容,给了一个变量
## 2.6 填写输入框
	-coze回复的内容,填进去
    
## 2.7 键盘输入
	-回车
## 3 循环结束

image-20251204214246130

image-20251204214648507

image-20251204214722699

image-20251204214817881

image-20251204215000056

image-20251204215300681

image-20251204215415685

image-20251204215612105

image-20251204215920535

image-20251204220051842

image-20251204220132366

2 影刀扩展

# 1 影刀+Coze/Dify 

# 2 举例:你是公司财务--》审核员工的报销单
	-金额对不对
    -发票是不是真的
    
# 3 正常操作:人登录到公司的报销系统--》一个个看,点审核

# 4 借助于影刀+coze
	-影刀自动登录到公司的报销系统--》循环点开一个个人的报销的提交---》对接coze核算报销金额对不对--》把发票传给coze--》审核发票是不是真的---》如果都通过--》点报销通过.如果不行,点报销不通过
    
    
    
# 5 可以扩展到更多场景

3 同学答疑

# 1 dify 外网访问,局域网
	-1 win、mac部署
    -2 虚拟机Linux部署
    ---------这个只能在局域网中使用,公司内使用,外部别人访问不到---
    -3 阿里云服务器部署
    ---就跟coze一样,所有人都可以访问,python调用时,python代码在哪运行,都能调用通-----
# 2 coze所有人都能访问
	-coze公司,有服务器,把coze代码部署在服务器上了
    -coze开源了--》拿到源代码---》参照部署dify方式,把coze部署在本地--》公司内部完
    	-上一期讲过
    -你在云服务器上部署coze,你造了一个coze--》别人也可以用
    	-传奇:官方,冲卡点的
        -私服:自己部署了传奇,给别人玩--》收别人钱
    -渣渣辉---》传奇源码泄露了--》大家都能拿到---》部署在服务器上--》别人在手机上玩--》链接你部署的服务器--》充钱--》冲给你了--》如果玩的人多,一个月冲100w---》这钱都你的---》超级赚钱--->没这么多人玩---》p图明星---》明星发现了---》公司联系明星--》给你10w,给我拍一条广告--》拍不拍?----》不拍,你告我--》公司倒闭--》换个壳继续玩--》如果要拍---》10w给你--》好多明星拍了
    
    
   
# 2 影刀对接dify
	-就是python模块代码--》改成影刀的格式---》11天学的代码
    -原理是一样的
   	-你写不出来,用ai写---》调通
    	
	
# 3 coze中的代码模块 import “模块” 可以吗?
	- 可以用,如果是第三方模块,也需要下载
    -内置模块,直接导入
    	-生视频的案例--》用了json模块
posted @ 2025-12-09 19:33  凫弥  阅读(7)  评论(0)    收藏  举报