基于 QQBot 实现简易 QQ 机器人

参考来源:https://blog.csdn.net/qq_42156420/article/details/80627783

Windows下,打开 cmd 窗口,

  pip install qqbot

安装完成后,cmd 窗口输入

  qqbot

即启动 QQBot,弹出二维码,用手机QQ扫一下,即授权登录

另外打开一个 cmd 窗口,键入

  qq help

即可看到各项功能,例如

  qq list buddy

即可看到好友列表。

 

设计自动回复内容,需要编写一个“消息响应函数”,例如,写下 QQchatbot.py,内容如下:

 

from qqbot import QQBotSlot as qqbotslot, RunBot

@qqbotslot

def onQQMessage(bot, contact, member, content):

    if content == 'hello':
        bot.SendTo(contact, '你好,我是QQ机器人')
    elif content == '计算物理':
        bot.SendTo(contact, '我是计算物理助教')
    elif content == '爱你哦':
        bot.SendTo(contact, '嗯嗯爱你')
    else:
        bot.SendTo(contact, '哎呀,你在说啥,我听不懂呢')
if __name__ == '__main__':
    RunBot()

关闭正在运行的 QQbot (通过 qq stop),再运行

  python QQchatbot.py -q 你的QQ号

即可登录该 qq 号,它会按照函数 onQQMessage(...) 中的设置,进行自动回复。

 

做成插件:sample.py 放进 C:\Users\xxx\.qqbot-tmp\plugins\,sample.py 内容:

def onQQMessage(bot, contact, member, content):

    if content == 'hello':
        bot.SendTo(contact, '你好,我是QQ机器人')
    elif content == '计算物理':
        bot.SendTo(contact, '我是计算物理助教')
    elif content == '爱你哦':
        bot.SendTo(contact, '嗯嗯爱你')
    else:
        bot.SendTo(contact, '哎呀,你在说啥,我听不懂呢')

 

运行 qqbot -q 你的qq号 (之前扫过二维码,所以短时间内可以自动登录),在另一个 cmd 窗口键入

  qq plug sample

即启动 sample 插件,你的 qq 号开始自动问答。

如果你想关掉插件,只需键入

  qq unplug sample

你的 qq 号就停止自动问答功能。

 

我本来是想做一个自动答疑的 qq 机器人,放在学生群里,回答一些数学物理基本问题。那么需要训练这个机器人,让他根据关键字,给出事先准备好的内容,发到群里。所以接下来我还需要学会:

1. 群聊

2. 根据关键字答复

3. 学习功能

  网上找到这个帖子,好像有学习功能

  https://www.jianshu.com/p/9e18b46bfc65

 

有空了继续学习,再更新这个帖子

转载于:https://www.cnblogs.com/luyi07/p/10156222.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QQ机器⼈制作教程,超详细 ⽬录 完整项⽬包括框架、代码和详细使⽤说明可以去链接下载(下载完只需要按照使⽤说明修改⼏处地⽅即可搭建成功!): 最新功能请看第⼆篇⽂章: 前期准备 1、机器⼈框架的下载和配置 (1)⾸先需要⼀个qq机器⼈框架,我使⽤的是基于mirai 以及 MiraiGo 开发的(⾥⾯有开发⽂档)。 windows推荐下载这个,linux我没试过⾃⼰去看⽂档哈。 下载后解压得到三个⽂件。 (2)双击exe⽂件,出现如下窗⼝,⼀直点击确定就⾏了(3次): 然后会⽣成⼀个批处理⽂件,双击它(以后也是直接⽤它) 输⼊0后回车,然后关闭,此时已经在原来的⽂件⽬录下⽣成了配置⽂件config.yml。 (3)双击config.yml,输⼊QQ号和密码(建议使⽤⽆登录保护的qq,否则可能出现滑块验证等问题)。 也可以不输⼊账号密码,直接运⾏那个bat⽂件会出现⼆维码扫码登录,这样更加安全。 再转到最后两⾏,把前⾯的#去掉使其⽣效。(很重要!!很重要!!) (4)配置完后直接双击bat⽂件。等待⼀段时间出现如下窗⼝: 这两个端⼝都应该出现(很重要): 更多问题请看。 补充:窗⼝可能会⼀直出现如下警告(这个不需要管,是正常现象): 窗⼝会⼀直显⽰接收到信息,不要关闭。 2、python的配置和安装 电脑没有python环境或者觉得配置太⿇烦可直接购买exe版本,只要有电脑就可以运⾏。 同样⾥⾯都有使⽤说明,配置更加⽅便 要实现⾃动回复功能的机器⼈需要借助⼀种语⾔,我选择的是python。 所以需要电脑配置好python环境和安装集成开发环境pycharm。安装教程可以看我的⽂章—>>> 当然在实现所有功能之前需要安装⼀些第三⽅库,这个不知道的也可以百度。 具体实现 1、发送信息 这包括发送私聊信息和发送群聊信息。下⾯的函数已经写好了,直接调⽤函数传⼊参数就⾏了。 import socket def send_msg(resp_dict): client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ip = '127.0.0.1' client.connect((ip, 5700)) msg_type = resp_dict['msg_type'] # 回复类型(群聊/私聊) number = resp_dict['number'] # 回复账号(群号/好友号) msg = resp_dict['msg'] # 要回复的消息 # 将字符中的特殊字符进⾏url编码 msg = msg.replace(" ", "%20") msg = msg.replace("\n", "%0a") if msg_type == 'group': payload = "GET /send_group_msg?group_id=" + str( number) + "&message=" + msg + " HTTP/1.1\r\nHost:" + ip + ":5700\r\nConnection: close\r\n\r\n" elif msg_type == 'private': payload = "GET /send_private_msg?user_id=" + str( number) + "&message=" + msg + " HTTP/1.1\r\nHost:" + ip + ":5700\r\nConnection: close\r\n\r\n" print("发送" + payload) client.send(payload.encode("utf-8")) client.close() return 0 (1)⽐如发送私聊信息(QQ⽤接收者的): resp_dict={'msg_type':'private','number':QQ号,'msg':'你好'} send_msg(resp_dict) (2)发送群聊信息(群号⾃⼰⽤⼀个): send_msg({'msg_type': 'group', 'number': QQ群号, 'msg': '⼤家好'}) (3)当然不⽌发送⽂本信息,还可以发表情、图⽚、⾳乐等。还可以艾特某⼈。 例如:发表情 send_msg({'msg_type': 'group', 'number': QQ群号, 'msg': '[CQ:shake]'}) 发窗⼝抖动 send_msg({'msg_type': 'group', 'number': QQ群号, 'msg': '[CQ:shake]'}) 2、获取群成员列表 import requests def get_group(id): response = requests.pos

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值