基于Python来开发一个QQ机器人,原来这么简单!

开发 后端
本篇教大家如何用Python来实现QQ机器人,如有不足欢迎在评论方指出!QQBot是一个用Python实现的、基于SmartQQ协议的简单QQ机器人,可运行在Linux、Windows和Mac OSX平台下。

本篇教大家如何用Python来实现QQ机器人,如有不足欢迎在评论方指出!

[[232258]]

 

简单介绍

基于Python来开发一个QQ机器人,原来这么简单!

 

安装方法

可在 Python个版本下使用,用 pip 安装:

pip install qqbot

基于Python来开发一个QQ机器人,原来这么简单!

 

使用方法

一、启动 QQBot

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

二、操作 QQBot

QQBot 启动后,在另一个控制台窗口使用 qq 命令来操作 QQBot ,目前提供以下命令:

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

如:

qq list group 机器人测试

基于Python来开发一个QQ机器人,原来这么简单!

 

例如:

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

实现我们自己的 QQ 机器人

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

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

QQBot 对象的接口

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

示例:

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

注意第三句不允许是 bot.List(g, card='jack') 的格式。

List 接口的内部执行顺序:

基于Python来开发一个QQ机器人,原来这么简单!

 

List 接口返回值的含义:

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

示例:

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

注意上面第三句不允许是 bot.List(g, card='jack') 的格式。

List 接口的内部执行顺序:

基于Python来开发一个QQ机器人,原来这么简单!

 

List 接口返回值的含义:

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

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

注册回调函数

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

定制定时任务

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

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

二维码管理器、QQBot 配置及命令行参数

二维码的显示模式

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

配置文件的使用方法

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

自动登录的 QQ 号码( qq )

基于Python来开发一个QQ机器人,原来这么简单!

 

掉线后自动重启( restartOnOffline )

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

如:

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

调试模式( debug )

若 debug 项设置为 True ,则运行过程中会打印调试信息。

需要被监视的联系人列表( monitorTables )

基于Python来开发一个QQ机器人,原来这么简单!

 

插件的配置( pluginPath 和 plugins )

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

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

smartqq 协议支持及限制

基于Python来开发一个QQ机器人,原来这么简单!

 

基于Python来开发一个QQ机器人,原来这么简单!

 

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

基于Python来开发一个QQ机器人,原来这么简单!

 

参考资料

基于Python来开发一个QQ机器人,原来这么简单! 
责任编辑:庞桂玉 来源: 今日头条
相关推荐

2021-05-07 13:20:39

Python机器人编程语言

2021-10-28 22:46:13

Python机器人数据

2023-02-26 11:53:20

2021-03-15 09:23:06

读写分离MySql数据库

2022-09-30 13:55:46

Python机器人

2022-01-21 07:35:06

LRU缓存java

2023-02-09 07:34:52

ChatGPT机器人人工智障

2021-04-21 09:16:04

Python开发钉钉群机器人

2021-04-19 05:42:51

Mmap文件系统

2018-06-08 16:18:43

Python微信聊天机器人

2020-02-18 10:26:58

机器人人工智能系统

2020-09-15 13:56:08

公众号机器人图灵机器人

2021-11-30 10:56:43

ChatterBot机器人人工智能

2021-04-01 10:51:44

机器人人工智能编程

2012-06-21 14:20:16

CSS3

2021-05-24 15:29:24

人工智能机器人聊天

2017-05-08 12:05:51

机器人智慧养老人工智能

2021-06-07 08:28:26

人工智能AI机器人

2018-07-05 17:01:42

人工智能机器学习机器人

2023-11-01 14:49:07

点赞
收藏

51CTO技术栈公众号