快速上手 您所在的位置:网站首页 onebot机器人全套配件 快速上手

快速上手

2023-03-17 04:35| 来源: 网络整理| 查看: 265

# 快速上手# 准备工作

Koishi 需要 NodeJSopen in new window (v12 以上) 运行环境,你需要自己安装它。同时,我们还强烈建议您安装 yarnopen in new window 作为包管理器。在下面的文档中,我们将默认使用 yarn。

Koishi 支持多个聊天平台,对于不同的平台,你也需要做好相应的准备工作。

# OneBot (QQ)

OneBotopen in new window 是一个聊天机器人应用接口标准,目前可用于 QQ 聊天机器人的实现。你可以使用下列实现该协议的框架:

Mrs4s/go-cqhttpopen in new window(推荐, 并使用 WebSocket配置)yyuueexxiinngg/cqhttp-miraiopen in new windowrichardchien/coolq-http-apiopen in new window(配合 iTXTech/mirai-nativeopen in new window 使用)# Telegram (Telegram)搜索 @botfather(有个官方认证的符号)并进入聊天界面输入 /start 后,会出现一个使用菜单,你可以使用这里指令对你的机器人进行配置要创建一个机器人,请点击 /newbot,并根据系统提示完成创建流程使用 /setprivacy 开启 Privacy Mode(不然机器人只能收到特定消息)创建完毕后,你会获得一个 token(请注意不要泄露),将其作为机器人配置项即可使用

参考文档:https://core.telegram.org/botsopen in new window

# Discord (Discord)前往 https://discord.com/developers/applicationsopen in new window,登录账号创建一个应用点击「Bot」并创建一个新的机器人,保存这个页面中的 token(请注意不要泄露)要将机器人拉进你的服务器,点击「OAuth2」,并在网址生成器中勾选 Bot 和机器人所需要的权限打开生成的链接,选择你具有管理权限的服务器,就成功把机器人添加进去了将上面的 token 作为机器人配置项即可使用# 开黑啦 (Kaiheila)前往 开发者平台open in new window,选择「机器人」并点击「新建」在机器人连接模式中配置 Webhook 或 WebSocket 中的一种: 如果是 Webhook,请记下页面中的 token 和 verify_token,并作为机器人的配置项,同时让 Koishi 暴露一个 URL,填入下方的 Callback URL 中,启动 Koishi 后点击「机器人上线」如果是 WebSocket,则只需记录 token 并作为机器人的配置项即可,你可以在任何时候启动 Koishi页面中的其他值不用管,但请注意 token 不要泄露# 使用命令行工具

创建并进入一个机器人目录:

mkdir my-bot && cd my-bot

然后输入下面的命令行,生成配置文件的设置将在下方说明:

命令行npmyarn

Adapter Type: 此处可根据你所需要的平台进行选择, 在准备工作有详细说明

Koishi Port: 一般情况保持默认即可, 确保不要与其他端口冲突(如 Vue CLI 项目)

Token for XXX Server / XXX Server / Secret for Koishi Server: 根据实际情况填写。

configurate another bot? 如有多个机器人, 可在此一并设置, 一般默认即可。

Database Type: 为了确保体验的完整性(如用户系统及大部分官方/社区插件, 强烈建议在此配置数据库。

Choose Offical Plugins: 在此选择一并安装的官方插件列表, 详情介绍参见官方插件页面。选择后继续回车即可。

此时,你会看到在你刚刚创建的目录下多了一些文件,包括 package.json 和 koishi.config.js。后者应该大概长这样:

koishi.config.jsmodule.exports = { // 协议类型 type: 'onebot:http', // 机器人自己的账号 selfId: '123456789', // 插件列表 plugins: { common: {}, }, }

最后运行程序:

命令行npmyarn

现在可以对你的机器人说话了:

聊天记录AAliceecho 你好Koishi你好# 通过脚本调用 Koishi

如果你对 JavaScript 和 Node.js 非常熟悉,你或许也希望在 Node.js 中直接调用 Koishi——没问题,我们也提供了这样一套方案。

首先初始化你的机器人目录并安装 Koishi 和所需的插件(这里以 koishi-adapter-onebot 和 koishi-plugin-common 为例):

命令行npmyarn

新建入口文件 index.js,并写下这段代码:

index.jsconst { App } = require('koishi') // 你需要手动安装适配器 require('koishi-adapter-onebot') const app = new App({ // 这部分与上面的配置文件作用基本相同 type: 'onebot:http', selfId: '123456789', }) // 注册插件,作用相当于上面配置文件中的 plugins 部分 app.plugin(require('koishi-plugin-common')) // 启动应用 app.start()

上面的配置项参见 App 的构造函数选项。

最后运行这个文件:

node .

这样也能运行你的机器人。尽管这显得稍微麻烦一点,但是你的机器人也因此获得了更高的自由度。在下一章我们会简单对比这两种方法。

# 使用 Docker

Koishi 还支持在 Docker 中运行,你需要安装 Dockeropen in new window,但不必安装有 NodeJS。

首先创建如下的配置文件:

koishi.config.jsmodule.exports = { bots: [], }

完成之后,挂载 koishi.config.js 并启动容器:

docker run -d --name koishi \ -v $PWD/koishi.config.js:/app/koishi.config.js \ koishijs/koishi:latest

Koishi 启动后,你就可以在容器中安装所需要的插件,具体操作请参见 使用 Docker 一章。

# 编写并调用你的插件

在机器人目录中添加文件 my-plugin.js:

// 如果收到“天王盖地虎”,就回应“宝塔镇河妖” module.exports = (ctx) => { ctx.middleware((session, next) => { if (session.content === '天王盖地虎') { session.send('宝塔镇河妖') } return next() }) }

修改你的配置文件或入口文件:

koishi.config.jsmodule.exports = { plugins: { './my-plugin': {}, }, } index.jsapp.plugin(require('./my-plugin'))

然后重新运行你的项目:

聊天记录AAlice天王盖地虎Koishi宝塔镇河妖# 配置数据库# 配置多机器人

你可以像这样使用多个机器人:

koishi.config.jsmodule.exports = { port: 7070, onebot: { // onebot 服务将在 http://localhost:7070/onebot 进行处理 path: '/event', secret: 'my-secret', }, kaiheila: { // kaiheila 服务将在 http://localhost:7070/kaiheila 进行处理 path: '/kaiheila', }, bots: [ // 在这里写上不同的机器人配置 { type: 'onebot:http', selfId: '123456789', server: 'http://onebot-server' }, { type: 'onebot:ws', selfId: '987654321', token: 'my-onebot-token' }, { type: 'kaiheila:ws', selfId: 'aAbBcCdD', token: 'my-kaiheila-token' }, ], }

运行程序后,Koishi 将同时登陆三个机器人。有关多机器人的详细使用方法,可以参见 多账户与跨平台 一章。

帮助我们改善此页面 open in new windowLast Updated: 11/16/2021, 7:34:27 AMContributors: Shigma


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有