python 3.6 qqbot_Python3.6 QQBot 机器人 - 注册响应函数

前面的章节,我们已经了解到了 QQBot 服务的搭建跟基础的使用,现在,我们就要使用 QQBot 来实现我们的机器人。

首先,我们得先注册我们的响应函数,这个函数的功能很简单,只是监听好友给我们发的信息,并给予回复,现在我们看看程序:

xiaoluo.py文件(这个文件的名字,没有特别的要求,按照自己的喜欢,这个是我随便取的名字,真正项目的时候,建议取名规范点):

1 #-*- coding: utf-8 -*-

2

3 #onQQMessage :必须的注册函数的函数名称

4 #bot :QQBot 对象,提供 List/SendTo/Stop/Restart 等接口

5 #contact :QContact 对象,消息的发送者,具有 ctype/qq/uin/nick/mark/card/name 等属性

6 #member  :QContact 对象,仅当本消息为 群消息或讨论组消息 时有效,代表实际发消息的成员

7 #content :str 对象,消息内容

8

9 defonQQMessage(bot, contact, member, content):10 if content == "-hello":11 bot.SendTo(contact, "你好,我是小罗机器人")12 elif content == '-stop':13 bot.SendTo(contact, "小罗机器人已关闭")14 bot.Stop()

contact:代表消息发送者,其 ctype 属性可以为 buddy(好友)/ group(群组)/ discuss(讨论组),表示是好友消息、群组消息、讨论组消息。

member:仅当本消息为群消息或者讨论组消息时有效,代表实际发消息的成员,它的 ctype 属性可以为 group-member / discuss-member,代表群成员 / 讨论组成员对象。如果本消息是好友消息时,则 member = None。

contact 和 member 都是 QContact 对象,不同类型的 QContact 对象所具有的 属性含义见:

可以调用 QQBot 对象的 SendTo 接口向 QContact 对象发送消息,但要注意: 只可以向 好友 / 群 / 讨论组 发消息, 不可以向 群成员 / 讨论组成员 发送消息  。也就是说,只可以调用 bot.SendTo(contact, 'xxx') , 不可以调用  bot.SendTo(member, 'xxx') 。

将上边的文件放到 ~/.qqbot-tmp/plugins/ 目录下(这是基于 Linux 服务器的,我的 Windows 的目录是在 C:/Users/Administrator/.qqbot-tmp/plugins/,具体情况根据你的环境来看):

1 cd ~/.qqbot-tmp/plugins/

接下来我们就要注册这个响应函数了(我这里的文件是:xiaoluo.py):

1 qq plug xiaoluo

这样我们就已经成功的注册了这个响应函数了,接下来我们用另外一个 QQ 号对这个 QQ 号发送 -hello 和 -stop 这两条消息来测试下响应函数是否注册成功。

如果出现以上界面,那么恭喜你,你的 QQ机器人 已经搭建成功了。接下来,就可以扩展你的机器人性能了。

注意:

1、响应函数的函数名称必须是:onQQMessage,函数参数也必须和上面的一致;

2、要将注册函数的 .py 文件放在一下 ~/.qqbot-tmp/plugins/ 目录下,Windows 则一般是在 C:/用户/Administrator/.qqbot-tmp/plugins/ 这个文件夹下边,具体根据个人的情况而定。

参考资料:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值