概述
前言
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启动回复程序很简单,只要完成两个操作就可以了。
哪三个操作?
- 修改配置文件;
- 编写自动回复的程序
- 启动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" : "3497303033@qq.com",
# 该邮箱的 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由于命令行的信息全部加载到了日志里面,所以你需要去日志里面扫二维码。
可以的话,关注博客网站
最后
以上就是要减肥丝袜为你收集整理的qqbot在服务器启动的全部内容,希望文章能够帮你解决qqbot在服务器启动所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复