由于很多用户问问题简单粗暴——“用不了”,鉴于我还没有成功飞升成仙,所以将这些关键词搜集起来,做了一个自动回复的机器人,避免了每次机械重复地询问客户具体情况。

同时由于酷Q等已经用不了了,这里使用 nonebot以及 go-cqhttp实现:

nonebot:https://github.com/nonebot/nonebot

go-cqhttp:https://github.com/Mrs4s/go-cqhttp

安装

这里仅在Ubuntu上安装,其他安装方法可以去看官方文档。

nonebot:(Python >= 3.7)

pip3 install nonebot

go-cqhttp:

  1. 下载:
wget https://github.com/Mrs4s/go-cqhttp/releases/download/v0.9.32/go-cqhttp-v0.9.32-linux-amd64.tar.gz
  1. 解压:
tar -zxvf go-cqhttp-v0.9.32-linux-amd64.tar.gz
  1. 首次运行:
./go-cqhttp

首次运行时会生成配置文件 config.hjson

  1. 编辑config.hjson:
vim config.hjson

以下为需要修改的参数:

可以根据官方文档自行配置:https://github.com/Mrs4s/go-cqhttp/blob/master/docs/config.md
uin: qq号
password = "qq密码"
ws_reverse_servers: [
        {
            enabled: true
            reverse_url: ws://127.0.0.1:7070/ws
        }
    ]

机器人自动回复设置

目录结构如下:

qqbot
├── awesome
│   └── plugins
│       └── autoResponse
│           ├── __init__.py
├── bot.py
└── config.py

直接给出 bot.pyconfig.py__init__.py的源码,

想深入学习可以看官方文档:https://docs.nonebot.dev/

bot.py

from os import path
import nonebot
import config

if __name__ == '__main__':
    nonebot.init(config)
    nonebot.load_plugins(
        path.join(path.dirname(__file__), 'awesome', 'plugins'),
        'awesome.plugins'
    )
    nonebot.run()

config.py

from nonebot.default_config import *

HOST = '0.0.0.0'
PORT = 7070

NICKNAME = {''}
COMMAND_START = {''}

__init__.py

from nonebot import on_command, CommandSession
from nonebot import on_natural_language, NLPSession, IntentCommand

@on_natural_language(keywords={'keyword1', 'keyword2'})
async def autoResponse(session: NLPSession):
    stripped_msg = session.msg_text.strip()
    qq = session.event.user_id
    auto_report = '''自动回复的内容'''
    at = '[CQ:at,qq={}]'.format(qq)
    await session.send(at + auto_report)
    print(stripped_msg)

自定义配置:

#可以多个关键词
keywords={'keyword1', 'keyword2'}
#自定义即可
auto_report = '''自动回复的内容'''

启动机器人

  1. 后台运行python文件:
nohup python3 bot.py &
  1. 后台运行go-cqgttp:
nohup ./go-cqhttp &

完成!

Last modification:December 1, 2020