首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >qq空间自动评论机器人,QQ群机器人模块,自动回复聊天发消息【python】

qq空间自动评论机器人,QQ群机器人模块,自动回复聊天发消息【python】

原创
作者头像
用户11749621
发布2025-07-25 11:08:22
发布2025-07-25 11:08:22
6260
举报

下载地址:https://www.pan38.com/dow/share.php?code=JCnzE 提取密码:8918

代码说明:这个项目包含QQ空间自动评论、QQ群消息处理和自动回复三大功能模块,使用多线程实现并发操作。config.py存放配置信息,utils.py提供常用工具函数。使用时需要替换cookie和QQ号等配置信息。

代码语言:txt
复制

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 删除。

评论
作者已关闭评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档