Skip to content

NoneBotX 贡献指南

首先,感谢大家为 NoneBotX 贡献代码 本张旨在引导你更规范地向 NoneBotX 提交贡献,请务必认真阅读。

我们欢迎一切贡献!并对每个愿意贡献的人表示衷心的感谢!💖

提交 Issue

在提交 Issue 前,我们建议你先查看 已有的 Issues,以防重复提交。

Pull Request

NoneBotX 使用 pnpm 管理项目依赖,由于 pre-commit 也经其管理,所以在此一并说明。

下面的命令能在已安装 pnpm 的情况下帮你快速配置开发环境。

bash
# 安装依赖
pnpm install
# 安装 pre-commit git hook
pre-commit install

使用 GitHub Codespaces(Dev Container)

Open in GitHub Codespaces

使用 GitPod

Open in Gitpod

Commit 规范

请确保你的每一个 commit 都能清晰地描述其意图,一个 commit 尽量只有一个意图。

NoneBotX 的 commit message 格式遵循 gitmoji 规范,在创建 commit 时请牢记这一点。

工作流概述

master 分支为项目的开发分支,在任何情况下都请不要直接修改 master 分支,而是 fork 本仓库后,向本仓库的 master 分支发起 Pull Request。注意遵循先前提到的 commit message 规范创建 commit。我们将在 code review 通过后通过 squash merge 方式将您的贡献合并到主分支。

撰写文档

NoneBotX 社区文档使用 vitepress,它有一些 Markdown 特性 可能会帮助到你。

如果你需要在本地预览修改后的文档,可以使用 pnpm 安装文档依赖后启动 dev server,如下所示:

bash
pnpm install
pnpm dev

NoneBotX 社区文档并没有具体的行文风格规范,但我们建议你尽量写得简单易懂。

以下是比较重要的编写与排版规范。目前 NoneBotX 文档中仍有部分文档不完全遵守此规范,如果在阅读时发现欢迎提交 PR。

  1. 中文与英文、数字、半角符号之间需要有空格。例:NoneBot 是跨平台 Python 异步聊天机器人框架
  2. 若非英文整句,使用全角标点符号。例:现在你可以看到机器人回复你:“Hello, World !”。
  3. 直引号 「」 和弯引号 “” 都可接受,但同一份文件里应使用同种引号。
  4. 不要使用斜体,你不需要一种与粗体不同的强调。除此之外,你也可以考虑使用 vuepress 提供的扩展NoneBotX 的组件

以上由社区创始人 richardchien 的中文排版规范补充修改得到。

如果你需要编辑器检查 Markdown 规范,可以在 VSCode 中安装 markdownlint 扩展。

NoneBotX 组件

黑幕

输入

html
<Curtain>这是一个黑幕</Curtain>

::: tip
<Curtain>这是 TIP 下的黑幕</Curtain>
~~更多用法自行探索~~ :::

输出

这是一个黑幕

TIP

这是 TIP 下的黑幕

更多用法自行探索

告示

TIP

更多用法请见:VitePress

除了 vitepress 提供的之外,NoneBotX 还提供了额外的告示

输入

md
::: tsukkomi
This is a tsukkomi
:::

输出

吐槽

This is a tsukkomi

加载

输入

html
<p align="center" style="font-size: 25px"><strong>前面的区域,以后再来探索吧</strong></p>
<loading />

输出

前面的区域,以后再来探索吧

音量条

输入

html
<volume-bar>贴心的音量条:</volume-bar>

输出

贴心的音量条:

100%

QQ 聊天框

输入

html
<chat-window title="QQ 聊天">
  <chat-msg name="Komorebi" avatar="/avatar/komorebi.webp" onright>这是一条消息</chat-msg>
  <chat-msg name="NCBM" avatar="/avatar/ncbm.webp">这是一条消息</chat-msg>
  <chat-msg name="男娘" tag="小男娘" avatar="/avatar/nanniang.webp">这是一位南梁</chat-msg>
  <chat-img
    name="男娘"
    tag="小男娘"
    avatar="/avatar/nanniang.webp"
    src="/avatar/nanniang.webp"
  ></chat-img>
  <chat-msg name="男娘" tag="小男娘" avatar="/avatar/nanniang.webp">
    <chat-quote>
      <img src="/avatar/nanniang.webp" alt="男娘身材照" />
    </chat-quote>
    这是男娘的照片
  </chat-msg>
  <chat-toast>男娘撤回了一条消息</chat-toast>
  <chat-voice
    name="男娘"
    tag="小男娘"
    avatar="/avatar/nanniang.webp"
    audioSrc="http://music.163.com/song/media/outer/url?id=5221167.mp3"
    @click="cheated = true"
  ></chat-voice>
  <chat-toast v-if="cheated == true">你被骗了</chat-toast>
  <chat-msg name="Komorebi" avatar="/avatar/komorebi.webp" onright>看看男娘</chat-msg>
  <forward-chat
    name="男娘"
    title="男娘"
    tag="小男娘"
    avatar="/avatar/nanniang.webp"
    :contents="[
      '小男娘:男娘身材照',
      '小男娘: [图片]',
      '小男娘: [图片]',
      '小男娘: [图片]'
    ]"
  />
  <chat-msg name="男娘" tag="小男娘" avatar="/avatar/nanniang.webp">
    <chat-file
      filename="secret.zip"
      filesize="6.33MB"
      fileicon="/images/guide/compressed_file.webp"
      href="https://www.bilibili.com/video/BV1GJ411x7h7"
    />
  </chat-msg>
</chat-window>

输出

Komorebi
这是一条消息
NCBM
这是一条消息
男娘
小男娘
这是一位南梁
男娘
小男娘
男娘
小男娘
男娘身材照
这是男娘的照片
男娘撤回了一条消息
男娘
小男娘
Komorebi
看看男娘
男娘
小男娘
男娘的聊天记录
小男娘:男娘身材照
小男娘: [图片]
小男娘: [图片]
小男娘: [图片]
查看4条转发消息
男娘
小男娘

MIT License