qqbot在服务器启动

前言

qqbot的github地址https://github.com/pandolia/qqbot。 我看了一下csdn、博客园这些有关qqbot的博文大部分都是说明如何在本地电脑上运行的。而在服务器端运行的很少。现在来讲一下如何在服务器端使用qqbot完成自动回复消息的程序。

qqbot是什么?

是用python写的一个程序。有了它,你就能实现下面这些功能

  • 监控、收集 QQ 消息
  • 自动消息推送
  • 聊天机器人
  • 通过 QQ 远程控制你的设备

如何使用qqbot?

介绍 https://github.com/pandolia/qqbot/blob/master/README.MD

开始搭建

首先,在服务器端搭建qqbot启动回复程序很简单,只要完成两个操作就可以了。
哪三个操作?

  1. 修改配置文件;
  2. 编写自动回复的程序
  3. 启动qqbot

修改配置文件

修改配置文件,你就能够,使得qqbot展示出二维码,在你的ssh连接器上。能够使得你的程序运行在后台,记录运行的日志。
如何修改配置文件?
首先你要找到qqbot里面的一个配置文件,启动qqbot的时候就会看到下面这里

其中的配置文件就是我们的配置文件,然后进入该配置文件。可以看到有下面这些配置信息

# QQBot 的配置文件
    # 使用 qqbot -u somebody 启动程序时,依次加载:
    #     根配置 -> 默认配置 -> 用户 somebody 的配置 -> 命令行参数配置
    # 使用 qqbot 启动程序时,依次加载:
    #     根配置 -> 默认配置 -> 命令行参数配置
    # 用户 somebody 的配置
    "somebody" : {
        # QQBot-term (HTTP-API) 服务器端口号(该服务器监听 IP 为 127.0.0.1 )
        # 设置为 0 则不会开启本服务器(此时 qq 命令和 HTTP-API 接口都无法使用)。
        "termServerPort" : 8188,
        # 二维码 http 服务器 ip,请设置为公网 ip 或空字符串
        "httpServerIP" : "",
        # 二维码 http 服务器端口号
        "httpServerPort" : 8189,
        # 自动登录的 QQ 号
        "qq" : "3497303033",
        # 接收二维码图片的邮箱账号
        "mailAccount" : "[email protected]",
        # 该邮箱的 IMAP/SMTP 服务授权码
        "mailAuthCode" : "feregfgftrasdsew",
        # 是否以文本模式显示二维码
        "cmdQrcode" : False,
        # 显示/关闭调试信息
        "debug" : False,
        # QQBot 掉线后自动重启
        "restartOnOffline" : False,
        # 在后台运行 qqbot ( daemon 模式)
        "daemon": False,
        # 完成全部联系人列表获取之后才启动 QQBot 
        "startAfterFetch" : False,
        # 插件目录
        "pluginPath" : ".",
        # 启动时需加载的插件
        "plugins" : [],
        # 插件的配置(由用户自定义)
        "pluginsConf" : {},
    },
    # 可以在 默认配置 中配置所有用户都通用的设置
    "默认配置" : {
        "qq" : "",
        "pluginPath" : "",
        "plugins" : [
            'qqbot.plugins.sampleslots',
            'qqbot.plugins.schedrestart',
        ],
	    "pluginsConf" : {
	        'qqbot.plugins.schedrestart': '8:00',
	    }
    }, 
    # # 注意:根配置是固定的,用户无法修改(在本文件中修改根配置不会生效)
    # "根配置" : {
    #     "termServerPort" : 8188,
    #     "httpServerIP" : "",
    #     "httpServerPort" : 8189,
    #     "qq" : "",
    #     "mailAccount" : "",
    #     "mailAuthCode" : "",
    #     "cmdQrcode" : False,
    #     "debug" : False,
    #     "restartOnOffline" : False,
    #     "daemon" : False,
    #     "startAfterFetch" : False,
    #     "pluginPath" : "",
    #     "plugins" : [],
    #     "pluginsConf" : {}
    # },
}
rootConf = {
    "termServerPort" : 8188,
    "httpServerIP" : "",
    "httpServerPort" : 8189,
    "qq" : "",
    "mailAccount" : "",
    "mailAuthCode" : "",
    "cmdQrcode" : False,
    "debug" : False,
    "restartOnOffline" : False,
    "daemon" : False,
    "startAfterFetch" : False,
    "pluginPath" : "",
    "plugins" : [],
    "pluginsConf" : {},
}

我们可以看到上面中我们这次所需要的配置信息,显示二维码 “cmdQrcode” : False,后台运行 “daemon”: False,插件配置 “plugins” : [ ‘qqbot.plugins.sampleslots’,‘qqbot.plugins.schedrestart’,],然后我们修改默认配置为下面这些

 "默认配置" : {
        "cmdQrcode" : True,
        "daemon": True,
        "qq" : "",
        "pluginPath" : "",
        "plugins" : [
            'qqbot.plugins.sampleslots',
            'qqbot.plugins.schedrestart',
             'qqbot.plugins.sample',
        ],
            "pluginsConf" : {
                'qqbot.plugins.schedrestart': '8:00',
            }
    },

配置文件修改完成。

编写程序

实现自己的 QQ 机器人非常简单,只需要在~/.qqbot-tmp/plugins/ 目录下sample.py中定义一个自己的消息响应函数就可以了(但是注意的是这歌函数一定要以onQQMessage为名称。

def onQQMessage(bot, contact, member, content):
    if content == '-hello':
        bot.SendTo(contact, '你好,我是QQ机器人')
    elif content == '-stop':
        bot.SendTo(contact, 'QQ机器人已关闭')
        bot.Stop()

介绍上面的四个参数

  • bot : QQBot 对象,提供 List/SendTo/Stop/Restart 等接口,详见本文档第五节
  • contact : QContact 对象,消息的发送者,具有 ctype/qq/uin/nick/mark/card/name 等属性
  • member : QContact 对象,仅当本消息为 群消息或讨论组消息 时有效,代表实际发消息的成员
  • content : str 对象,消息内容

启动qqbot

在命令行中启动qqbot由于命令行的信息全部加载到了日志里面,所以你需要去日志里面扫二维码。

可以的话,关注博客网站

扫描二维码关注公众号,回复: 3449053 查看本文章

猜你喜欢

转载自blog.csdn.net/qq_41861526/article/details/82890649