1、步骤:打开deepseek,输入一下描述:
一、我是要实现自动发送群聊信息的工具
二、保证发送频率不高
三、用phyon开发
四、可以新增群聊名称、删除群聊名称、待发送消息、发送按钮,取消发送、选择全部群聊、取消全部群聊、日志在一个页面5、微信打开、微信激活、打开微信搜索用ctrl+F 等都用键盘的快捷键的方式,保证工具使用的稳定性
2、deepseek,给出的结果如下:
要实现一个自动发送群聊信息的工具,并且满足你提到的所有需求,可以使用Python结合一些库来实现。以下是一个大致的实现思路和代码示例:
1. 环境准备
•Python 3.x
•pyautogui: 用于模拟键盘和鼠标操作。
•tkinter: 用于创建GUI界面。
•time: 用于控制发送频率。
你可以通过以下命令安装所需的库:pip install pyautogui
2. 功能设计
•新增群聊名称:在GUI中添加一个输入框和按钮,用户可以输入群聊名称并添加到列表中。
•删除群聊名称:在GUI中添加一个列表和一个删除按钮,用户可以选择群聊名称并删除。
•待发送消息:添加一个文本框,用户可以输入待发送的消息。
•发送按钮:点击后开始自动发送消息。
•取消发送:停止发送消息。
•选择全部群聊:选择所有群聊。
•取消全部群聊:取消选择所有群聊。
•日志:在GUI中显示操作日志。
•快捷键:使用pyautogui库来模拟键盘快捷键操作。
3. 代码实现
import tkinter as tk
from tkinter import messagebox, scrolledtext
import pyautogui
import time
import threading
class WeChatAutoSender:
def __init__(self, root):
self.root = root
self.root.title("微信自动发送工具")
self.group_list = []
self.is_sending = False
# 群聊名称输入框
self.group_name_entry = tk.Entry(root, width=30)
self.group_name_entry.grid(row=0, column=0, padx=10, pady=10)
# 新增群聊按钮
self.add_group_button = tk.Button(root, text="新增群聊", command=self.add_group)
self.add_group_button.grid(row=0, column=1, padx=10, pady=10
# 群聊列表
self.group_listbox = tk.Listbox(root, width=50, height=10)
self.group_listbox.grid(row=1, column=0, columnspan=2, padx=10, pady=10)
# 删除群聊按钮
self.delete_group_button = tk.Button(root, text="删除群聊", command=self.delete_group)
self.delete_group_button.grid(row=2, column=0, padx=10, pady=10)
# 选择全部群聊按钮
self.select_all_button = tk.Button(root, text="选择全部群聊", command=self.select_all_groups)
self.select_all_button.grid(row=2, column=1, padx=10, pady=10)
# 取消全部群聊按钮
self.deselect_all_button = tk.Button(root, text="取消全部群聊", command=self.deselect_all_groups)
self.deselect_all_button.grid(row=3, column=0, padx=10, pady=10)
# 待发送消息输入框
self.message_entry = tk.Entry(root, width=50)
self.message_entry.grid(row=4, column=0, columnspan=2, padx=10, pady=10)
# 发送按钮
self.send_button = tk.Button(root, text="发送", command=self.start_sending)
self.send_button.grid(row=5, column=0, padx=10, pady=10)
# 取消发送按钮
self.cancel_button = tk.Button(root, text="取消发送", command=self.cancel_sending)
self.cancel_button.grid(row=5, column=1, padx=10, pady=10)
# 日志显示
self.log_text = scrolledtext.ScrolledText(root, width=60, height=10)
self.log_text.grid(row=6, column=0, columnspan=2, padx=10, pady=10)
def add_group(self):
group_name = self.group_name_entry.get()
if group_name:
self.group_list.append(group_name)
self.group_listbox.insert(tk.END, group_name)
self.group_name_entry.delete(0, tk.END)
self.log(f"已添加群聊: {group_name}")
def delete_group(self):
selected = self.group_listbox.curselection()
if selected:
group_name = self.group_listbox.get(selected)
self.group_list.remove(group_name)
self.group_listbox.delete(selected)
self.log(f"已删除群聊: {group_name}")
def select_all_groups(self):
self.group_listbox.selection_set(0, tk.END)
self.log("已选择全部群聊")
def deselect_all_groups(self):
self.group_listbox.selection_clear(0, tk.END)
self.log("已取消选择全部群聊")
def start_sending(self):
if not self.is_sending:
self.is_sending = True
self.log("开始发送消息...")
threading.Thread(target=self.send_messages).start()
def cancel_sending(self):
self.is_sending = False
self.log("已取消发送")
def send_messages(self):
selected_groups = self.group_listbox.curselection()
message = self.message_entry.get()
if not selected_groups:
self.log("请选择至少一个群聊")
return
if not message:
self.log("请输入待发送的消息")
return
for index in selected_groups:
group_name = self.group_listbox.get(index)
self.log(f"正在发送消息到群聊: {group_name}")
self.send_message_to_group(group_name, message)
if not self.is_sending:
break
time.sleep(5) # 控制发送频率
self.is_sending = False
self.log("消息发送完成")
def send_message_to_group(self, group_name, message):
# 打开微信搜索框 (Ctrl + F)
pyautogui.hotkey('ctrl', 'f')
time.sleep(1)
# 输入群聊名称
pyautogui.write(group_name)
time.sleep(1)
# 按下回车键进入群聊
pyautogui.press('enter')
time.sleep(1)
# 输入消息
pyautogui.write(message)
time.sleep(1)
# 按下回车键发送消息
pyautogui.press('enter')
time.sleep(1)
def log(self, message):
self.log_text.insert(tk.END, message + "\n")
self.log_text.see(tk.END)
if __name__ == "__main__":
root = tk.Tk()
app = WeChatAutoSender(root)
root.mainloop()
4. 使用说明
1.新增群聊:在输入框中输入群聊名称,点击“新增群聊”按钮。
2.删除群聊:在列表中选择群聊名称,点击“删除群聊”按钮。
3.选择全部群聊:点击“选择全部群聊”按钮。
4.取消全部群聊:点击“取消全部群聊”按钮。
5.输入消息:在“待发送消息”输入框中输入要发送的消息。
6.发送消息:点击“发送”按钮,工具会自动在选中的群聊中发送消息。
7.取消发送:点击“取消发送”按钮,停止发送消息。
8.日志:在日志框中查看操作记录。
5. 注意事项
•发送频率:代码中设置了time.sleep(5)来控制发送频率,你可以根据需要调整。
•微信窗口:确保微信窗口是打开的,并且处于活动状态。
•快捷键:代码中使用了Ctrl + F来打开微信搜索框,确保你的微信版本支持该快捷键。
6. 稳定性
•异常处理:可以在代码中添加异常处理机制,确保在出现错误时不会崩溃。
•日志记录:通过日志记录所有操作,方便排查问题。
三、打开影刀RPA
四、新建PC自动化应用
五、拖拽魔法指令
六、将代码实现,粘贴到对话窗口
七:避雷
1、由于魔法指令会默认你要的是指令”输入”、输出的方式;对于想要实现界面可视化并不友好,你可以给它如下描述
描述:我要gui界面
2、将第六条的代码给到魔法指令,它还会误认为你要开发网页应用,不必理会它,在给它发送一次即可
3、将第六条的代码给到魔法指令,它虽然生成了gui界面的工具,但是它缺少,保存群聊名称的功能,避雷开始:千万不要直接描述让它增加保存群聊名称的功能:例如我的描述:“请增加保存群聊名称的功能",它会把你搜索群聊名称等代码区域的逻辑都给你改了,正确做法:复制不让它改动的代码“********”加一句“上述代码不要进行更改,群聊列表,需要能够保存和删除群聊名称,每次打开的时候,群聊列表自动加载出已经保存的群聊名称”
4、将第六条的代码给到魔法指令,它虽然生成了gui界面的工具,但是它执行搜索群聊名称和发送消息内容逻辑有问题,它把要发送的消息内容当做群聊名称去搜索,这样它就导致没有正确搜索群聊名称,要发送的消息也是“空”;正确让它修改的描述可借用:魔法指令的“优化提问”功能:并未在搜索框里面输入群聊名称,请检查一下是不是执行逻辑有问题
5、切记:魔法指令并不是完全智能,例如:你描述直接让它生成“自动群发的微信工具”它会用定位的方式去找通讯录、搜索框、对话输入框等,这个坑,我用了7个小时才摸索出来,当然也有我描述的逻辑问题它有可能理解不到;建议用AI把你要避免的坑让AI给你找出来,让它给你写提示词;
最后:影刀最新版本的魔法指令:更智能,真正可以做到完全不用任何指令、不用手动修改它生成的代码、更让人惊喜的是它直接可以调用PyAutoGUl库,来生成可视化界面;待我体验它"网页自动化"、“数据处理”的新功能;魔法指令虽然不是初体验,但是新版本的魔法指令真的很赞;欢迎各位交流,一起加油!
大家喜欢我的文章给我点个赞吧!!!