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

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

设为 True 在绝大部分情况下能保证消息一定能发出去,但缺点是有时一条消息会重复发送。设为 False 则相反,消息不会重复发送,但有时消息发送不出去。

总之因为这个 1202 代码的不确定性,没有完美的解决办法。请根据各自的实际情况选择 resendOn1202 的值。

第一个参数 contact 必须是通过 bot.List 返回的 QContact 对象、或回调函数 onQQMessage 传递进来的第一个参数。示例:

# 向 QQ 为 12345 的好友发消息

>>> bl = bot.List('buddy', '12345')

>>> if bl:

>>> b = bl[0]

>>> bot.SendTo(b, 'hello')

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

对应第三节的群管理命令,共四个接口:

设置/取消管理员: bot.GroupSetAdmin(group, membs, admin=True)

设置/取消群成员名片: bot.GroupSetCard(group, membs, card)

禁止群成员发言: bot.GroupShut(group, membs, t=60)

踢除群成员: bot.GroupKick(group, membs)

其中第一个参数 group 为 群对象( ctype 等于 'group' 的 QContact 对象),第二个参数 membs 为被操作的成员列表。返回值为 membs 中各成员的操作信息。示例代码:

# 禁止 群“456班” 中名称为 jack 的成员发言(120秒)

gl = bot.List('group', '456班')

if gl:

group = gl[0]

membs = bot.List(group, 'jack')

if membs:

bot.GroupShut(group, membs, 120)

注意: 1) 第二个参数 membs 是一个 list 对象(如: [memb0,memb1,...] ),而不是一个 QContact 对象; 2) 若 membs 中的某个成员是管理员,则除 SetCard 外的其他接口可能对其无效,尽管此时返回成功信息。 3) 使用这四个接口时,请自行保证登录的用户是该群的管理员,且 membs 中的各成员均属于该群。

(5) bot.conf

bot.conf 中保存全局的配置信息,各项配置详见本文档第七节。如 bot.conf.termServerPort 保存 QQBot 命令行服务器的端口号, bot.conf.qq 保存本次登录的 QQ 号码。

注意: bot.conf 中保存的配置信息是只读的,请勿修改这些配置信息。

注册回调函数、被他人 @ 的通知、判断是否是自己发的消息、定制定时任务

注册回调函数

除了上面提到的 onQQMessage 响应函数,还可以注册 onInit/onQrcode/onStartupComplete/onInterval/onUpdate/onPlug/onUnplug/onExit 共计九种事件的回调函数,所有事件的回调函数参数格式、含义及示例详见 sampleslots.py 。

程序的运行流程以及各回调函数的调用时机如下

再次提醒:注册的回调函数的函数名以及函数参数(数量和名称)都不得更改 。


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

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

    • 史弥巩
      史弥巩

      中国大地思想的大旗又高高举起和飘扬了

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