您现在的位置是:亿华云 > 人工智能
基于Python来开发一个QQ机器人,原来这么简单!
亿华云2025-10-08 21:01:39【人工智能】3人已围观
简介本篇教大家如何用Python来实现QQ机器人,如有不足欢迎在评论方指出!简单介绍安装方法可在 Python个版本下使用,用 pip 安装:pip install qqbot使用方法一、启动 QQBot
本篇教大家如何用Python来实现QQ机器人,基于Q机如有不足欢迎在评论方指出!器人
简单介绍

安装方法
可在 Python个版本下使用,原简用 pip 安装:
pip install qqbot

使用方法
一、基于Q机启动 QQBot


二、器人操作 QQBot
QQBot 启动后,原简在另一个控制台窗口使用 qq 命令来操作 QQBot ,基于Q机目前提供以下命令:


list 命令提供强大的器人联系人查询功能,例如:


如:
qq list group 机器人测试

例如:


实现我们自己的原简 QQ 机器人
要实现咱们自己的QQ 机器人超级简单,我们只要注册一个自己的基于Q机消息响应函数。代码示范:





假如按插件的器人形式加载 sample.py ,那么这个文件的原简内容可以简化成:


QQBot 对象的接口

(1) bot.List(tinfo, [cinfo]) --> [contact0, contact1, ..., ]/[]/None

示例:

List 接口的***个参数 tinfo 也可以是一个 ctype 等于 group/discuss 的 QContact 对象,此时,亿华云计算基于Q机返回的器人是该 群/讨论组 的成员列表,如以下第二句和第三句分别返回 群“456班” 的原简成员列表和该群中名片为 “jack” 的成员列表:

注意第三句不允许是 bot.List(g, card=jack) 的格式。
List 接口的内部执行顺序:

List 接口返回值的含义:

2、 bot.SendTo(contact, content) --> 向 xx 发消息成功/错误:...

(3) bot.GroupXXX(group, membs[, arg]) --> [成功:..., 成功:..., 错误:...]

(1) bot.List(tinfo, [cinfo]) --> [contact0, contact1, ..., ]/[]/None

示例:



注意上面第三句不允许是 bot.List(g, card=jack) 的格式。
List 接口的内部执行顺序:

List 接口返回值的含义:

(2) bot.SendTo(contact, content) --> 向 xx 发消息成功/错误:...

(3) bot.GroupXXX(group, membs[, arg]) --> [成功:..., 成功:..., 错误:...]


注册回调函数、被他人 @ 的通知、定制定时任务
注册回调函数









定制定时任务
从 2.1.13 起, qqbot 中提供一个功能强大的云服务器提供商函数装饰器 -- QQBotSched 来定制定时任务,示例代码:




二维码管理器、QQBot 配置及命令行参数
二维码的显示模式


配置文件的使用方法


邮箱模式的配置( mailAccount 和 mailAuthCode )

服务器模式的配置( httpServerIP 和 httpServerPort )

自动登录的 QQ 号码( qq )

掉线后自动重启( restartOnOffline )

联系人列表更新的间歇时间( fetchInterval )

联系人列表获取完成后再启动( startAfterFetch )

QQBot-term 服务器端口号( termServerPort )

如:


文本模式显示二维码(cmdQrcode)

调试模式( debug )
若 debug 项设置为 True ,则运行过程中会打印调试信息。
需要被监视的联系人列表( monitorTables )

插件的配置( pluginPath 和 plugins )

命令行参数及配置的优先级


其中:根配置 是固定的,用户无法修改; 默认配置 和 用户配置 可由用户在 v2.1.conf 文件中进行修改;***,还可以在 命令行参数 中输入配置。
smartqq 协议支持及限制


因 smartqq 协议的限制,以下问题无解决办法

参考资料

很赞哦!(23)
相关文章
- 在众多公司中,如果我们必须选择一家可信的公司,那当然是信得过的。
- 小白科普:“无状态”那点事儿
- 简单聊一聊测试矩阵
- 【知识普及】前端人脸检测指南,快来看看
- 众所周知,com域名拥有最大的流通市场和流通历史。最好选择com域名,特别是在购买域名时处理域名。其次可以是cn域名、net域名、org域名等主流域名,现在比较流行的王域名和顶级域名,都是值得注册和投资的。
- 老码农眼中的存储是什么样子
- 不需要任何代码知识的开发工具—GrapesJS
- 学习Python装饰器,这一篇文章就够了!看完你就会了
- 其次,一般域名注册有一个获取密码的按钮,域名注册商点击后会向您发送密码。在得到域名注册商发送的密码后,将其传输到域名服务提供商网站,然后输入密码,此时域名呈现申请状态。提交申请后,原注册人通常会向您发送一封电子邮件,询问您是否同意转让。此时,您只需点击同意转移按钮,域名注册商就可以成功转移。
- 如何用20行JS代码实现粘贴板功能