下载地址:https://www.pan38.com/dow/share.php?code=JCnzE 提取密码:8918
代码说明:这个项目包含QQ空间自动评论、QQ群消息处理和自动回复三大功能模块,使用多线程实现并发操作。config.py存放配置信息,utils.py提供常用工具函数。使用时需要替换cookie和QQ号等配置信息。
import requests
import time
import random
from threading import Thread
from queue import Queue
class QQRobot:
def __init__(self, cookie, qq_number):
self.cookie = cookie
self.qq_number = qq_number
self.headers = {
'User-Agent': 'Mozilla/5.0',
'Cookie': self.cookie
}
self.message_queue = Queue()
self.running = True
def auto_comment_qzone(self, friend_qq, comments):
url = f'https://user.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_publish_v6'
while self.running:
try:
data = {
'uin': self.qq_number,
'hostuin': friend_qq,
'content': random.choice(comments),
'syn_tweet_verson': 1,
'format': 'fs'
}
response = requests.post(url, headers=self.headers, data=data)
if response.status_code == 200:
print(f"成功评论QQ空间:{friend_qq}")
time.sleep(random.randint(30, 60))
except Exception as e:
print(f"评论出错:{e}")
def group_message_handler(self, group_id):
url = 'https://qun.qq.com/cgi-bin/qun_mgr/send_group_msg'
while self.running:
if not self.message_queue.empty():
msg = self.message_queue.get()
data = {
'gc': group_id,
'content': msg,
'random': random.randint(0, 999999)
}
response = requests.post(url, headers=self.headers, data=data)
if response.status_code == 200:
print(f"群消息发送成功:{group_id}")
time.sleep(1)
def auto_reply(self, reply_rules):
while self.running:
# 模拟接收消息
time.sleep(0.5)
# 实际应用中这里应该是接收消息的接口
def start_all(self, friend_qq, comments, group_id, reply_rules):
threads = [
Thread(target=self.auto_comment_qzone, args=(friend_qq, comments)),
Thread(target=self.group_message_handler, args=(group_id,)),
Thread(target=self.auto_reply, args=(reply_rules,))
]
for t in threads:
t.start()
for t in threads:
t.join()
# QQ机器人配置
COOKIE = "your_cookie_here"
QQ_NUMBER = "123456789"
# 自动评论配置
FRIEND_QQ = "987654321"
COMMENTS = [
"写得真好!",
"支持一下~",
"感谢分享!",
"太棒了!",
"继续加油!"
]
# QQ群配置
GROUP_ID = "123456"
# 自动回复规则
REPLY_RULES = {
"你好": ["你好呀!", "嗨~"],
"在吗": ["我在呢", "有事请说"],
"谢谢": ["不客气~", "应该的"]
}
from qq_robot import QQRobot
from config import *
if __name__ == "__main__":
robot = QQRobot(COOKIE, QQ_NUMBER)
try:
robot.start_all(FRIEND_QQ, COMMENTS, GROUP_ID, REPLY_RULES)
except KeyboardInterrupt:
robot.running = False
print("程序已停止")
json
import hashlib
def save_cookie(cookie):
with open('cookie.json', 'w') as f:
json.dump({'cookie': cookie}, f)
def load_cookie():
try:
with open('cookie.json', 'r') as f:
return json.load(f)['cookie']
except:
return None
def encrypt_password(password):
return hashlib.md5(password.encode()).hexdigest()
def get_timestamp():
return int(time.time() * 1000)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。