github项目----qqbot实践开坑

• 2018 年 03 月 19 日 • 爬坑教程

QQbot开发

起因

前几天按照教程搭建了一个SS-panel-v3魔改版,觉得真的好用。可是,那个东西的二次开发的作者太有心机了,改了很多地方,实在是很难修改,最后是改了2天,终于改好了。但是我手一贱,就给毁了,我就在想能不能通过QQ机器人的形式让QQ操纵服务器,然后实现添加用户这些呢。

github仓库地址

qqbot点击这个连接就可以进入github,赶紧去加个star吧。

实践过程

首先,他的仓库里有很详细的开发文档,这个和酷Q一样都是用SmartQQ开发的,可是自我感觉没有酷Q主程序框架开发得那么好。但是昨天开发酷Q的时候被坑的有点难受,所以我打算以后再弄酷Q的插件了。

我这里就先单独只开个linux的坑了,因为我最后也是打算放到服务器上,就不考虑Windows了。

0x01

首先,你得为你的python环境安装qqbot这个包。
pip install qqbot
这是最基础的环境,包括运行环境和开发环境,如果没成功,就去下载他的源码然后进去运行:pip install

按照官网的说明,这里你会遇到第一个坑,那就是他说的配置文件你一开始是找不到的。
这时候你得先运行一下 qqbot 这个命令,然后就会提示你配置目录和插件目录了

0x02

帮助、停机和重启命令
qq help|stop|restart|fresh-restart

这几个命令要记住。

在python进行开发的时候必须要引用 from qqbot import _bot as bot

# -*- coding: utf-8 -*-
from qqbot import _bot as bot

def onQQMessage(bot, contact, member, content):
    if content == '-hello':
        bot.SendTo(contact, 'Welcome to use me !')
    else:
        bot.SendTo(contact, 'You just said : ' + content)

如果你的 onQQMessage 是这样写的,那用不了多久就被smartQQ禁止发言了,因为在bot的开发文档上也写了,你自己发的消息也是会当作一个消息被接收的,如果这样写的话就形成了一个无限循环。

# -*- coding: utf-8 -*-
from qqbot import _bot as bot

def onQQMessage(bot, contact, member, content):
    if content == '-hello':
        bot.SendTo(contact, 'Welcome to use me !')
    elif bot.isMe(contact, member) != 0:
        bot.SendTo(contact, 'You just said : ' + content)

把上次的代码改写成这样就能避免无限循环。这样就能实现一个简单的消息回复了,甚至可以加入其他函数然后实现一些功能了。


未完待续

返回文章列表 文章二维码
本页链接的二维码
打赏二维码