手机登录网页版qq帐号 Python&QQBot:一个简单、好用的QQ机器人(12)

电脑杂谈  发布时间:2018-02-07 19:44:49  来源:网络整理

插件内的 onPlug 和 onUnplug 回调函数

插件被加载时,会执行 reload(pluginName) ,因此插件内的所有代码都会被执行一次

当采用 hot-plug 的方式加载时,插件内的 onPlug 函数会紧接在 reload 成功后被执行

当采用 auto-plug-at-start 方式加载时,插件在启动时、登录之前被加载,但插件内的 onPlug 函数会延迟到登录成功后才被执行

插件被卸载时,插件内的 onUnplug 被执行

插件的编写编写插件主要就是编写回调函数或定时任务函数

插件列表

成都python培训

命令行模式下使用 IRC 聊天

linux 系统下,由于无法使用 QQ 客户端,可以使用插件 qqbot.plugins.miniirc 来实现用 IRC 聊天的功能。加载方式: qq plug qqbot.plugins.miniirc ,或启动时加载: qqbot -pl qqbot.plugins.miniirc ,或者在配置文件中的 plugins 选项中加入 'qqbot.plugins.miniirc' 。

插件加载后将在 6667 端口开启一个微型的 IRC 服务器,用户可以使用 IRC 客户端(如 weechat, irssi 等)连接此服务器来实现命令行模式下的聊天。以下以 weechat 为例介绍使用方法:

启动 weechat : weechat

连接本服务器: /connect localhost

进入 群聊天 会话: /join group-name

进入 讨论组聊天 会话: /join !discuss-name

进入 好友聊天 会话: /query buddy-name

进入 聊天会话 后,直接敲入文本并回车就可以向对方发送消息了。所有接收到的 QQ 消息也会被转发给相应的 聊天会话 。

在聊天会话之间切换: ctrl+P 或 ctrl+N

显示所有 群和讨论组 的名称: /list

以上几乎就是此微型 IRC 服务器所提供的所有功能了,但已经足够用来和 QQ 好友/群/讨论组 聊天了。

smartqq 协议支持及限制

本项目已实现绝大部分 smartqq 协议支持的功能,如下:

消息收/发

联系人(包括 好友/群/讨论组/群成员/讨论组成员)资料获取和查询(包括 QQ号/昵称/名称/备注名/群成员名片)

联系人资料根据需要动态更新

被群内其他成员 @ 的通知

群管理功能: 设置/取消管理员 、 设置/删除群名片 、 群成员禁言 以及 踢除群成员

发送、接收表情

其他功能:

调用系统默认图片浏览器显示登录二维码、将登录二维码发送至邮箱、开启一个 http 服务器用来显示登录二维码、在命令行窗口使用文本模式显示二维码

用 qq 命令行工具发消息、查询|更新联系人、群管理

提供 HTTP-API 接口发消息、查询|更新联系人、群管理

提供 miniirc 插件,可以在命令行模式下使用 IRC 客户端聊天

掉线后自动重启功能(有时需要手工扫码)

定时执行任务(通过 qqbotsched 实现)

因 smartqq 协议的限制,以下问题没有好的解决办法:

无法长时间保持状态,每次登录成功后的 cookie 会每在 1 ~ 2 天后失效,将被腾讯服务器强制下线,此时 必须 手工扫码重新登录。可以打开邮箱模式和自动重启模式,并配合 qqbot.plugins.schedrestart 插件使用,每天在固定的时间扫码登录一次,基本上可以稳定的保持状态。

无法发送图片、文件、音频、 xml 卡片消息

无法获取到自己通过其他客户端(手机 QQ 、PC-QQ)发送的 好友 消息(提示:自己发送的 群/讨论组 消息可以获取到)

当 好友/群/群成员 存在同名现象或名称中含特殊字符时,无法绑定其实际 QQ

无法在群内 @ 其他成员,即便用本程序在群里发送了 “@jack xxx” 这样的消息, jack 也只能收到这个纯文本,收不到“有人@我”的提醒。

无法向 群/讨论组 内的其他非好友成员发消息,也无法收到非好友成员发过来的临时会话消息

在非常少的情况下,发消息时会重复发送多次,也可能对方已收到消息但返回发送失败的结果


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-65875-12.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...