Skip to content

Commit

Permalink
🔖 v0.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
A-kirami committed Aug 12, 2023
1 parent 3fdfef3 commit 767df6a
Show file tree
Hide file tree
Showing 72 changed files with 14,281 additions and 10 deletions.
47 changes: 47 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"name": "KiramiBot",
"dockerComposeFile": "docker-compose.yml",
"service": "kiramibot",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
"features": {
"ghcr.io/devcontainers-contrib/features/pdm:2": {}
},
"forwardPorts": [
8120,
27017
],
"postCreateCommand": "pdm install",
"customizations": {
"codespaces": {
"openFiles": [
"README.md"
]
},
"vscode": {
"settings": {
"python.analysis.diagnosticMode": "workspace",
"python.analysis.typeCheckingMode": "basic",
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.organizeImports": true
}
},
"files.exclude": {
"**/__pycache__": true
},
"files.watcherExclude": {
"**/__pycache__": true
}
},
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"ms-python.black-formatter",
"charliermarsh.ruff",
"tamasfe.even-better-toml"
]
}
}
}
17 changes: 17 additions & 0 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: '3.8'
services:
kiramibot:
image: mcr.microsoft.com/devcontainers/python:1-3.10-bullseye
volumes:
- ../..:/workspaces:cached
network_mode: service:kirami-db
command: sleep infinity

kirami-db:
image: mongo:latest
restart: unless-stopped
volumes:
- kirami-data:/data/db

volumes:
kirami-data:
87 changes: 87 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# KiramiBot 贡献者公约

## 我们的承诺

身为项目成员、贡献者、负责人,我们保证参与此社区的每个人都不受骚扰,不论其年龄、体型、身体条件、民族、性征、性别认同与表现、经验水平、教育程度、社会地位、国籍、相貌、种族、宗教信仰及性取向如何。

我们承诺致力于建设开放、友善、多元、包容、健康的社区环境。

## 我们的准则

有助于促进本社区积极环境的行为包括但不限于:

- 与人为善、推己及人
- 尊重不同的主张、观点和经历
- 积极提出、耐心接受有益批评
- 面对过失,承担责任、认真道歉、从中学习
- 关注社区共同诉求,而非一己私利

不当行为包括但不限于:

- 发布与性有关的言论或图像,以及任何形式的献殷勤或勾引
- 挑衅行为、侮辱或贬损的言论、人身及政治攻击
- 公开或私下骚扰
- 未获明确授权擅自发布他人的资料,如地址、电子邮箱等
- 其他有理由认定为违反职业操守的不当行为

## 落实之义务

社区负责人有责任诠释什么是“妥当行为”,并据此准则,妥善公正地认定与处置不当、威胁、冒犯及有害的行为。

社区负责人有权利和义务删除、编辑、拒绝违背本公约的评论(comment)、提交(commit)、代码、维基(wiki)编辑、议题(issue)等贡献。如有必要,需告知采取措施的理由。

## 适用范围

此行为标准适用于本社区全部场合,以及在其他场合代表本社区的个人。

代表本社区的情形包括但不限于:使用官方电子邮件与社交平台、作为指定代表参与在线或线下活动。

## 贯彻落实

如遇滥用、骚扰等不当行为,请通过 <[email protected]> 向我们举报。我们将迅速审议并调查全部投诉。

社区全体负责人有义务保密举报者信息。

## 指导方针

社区负责人将依据下列方案判断并处置违纪行为:

### 一、督促

**社区影响**:用语不当、举止不符合道德或不受社区欢迎。

**处理意见**:由社区负责人予以非公开的书面警告,阐明违纪事由、解释举止如何不妥。或要求公开道歉。

### 二、警告

**社区影响**:一起或多起事件中的违纪行为。

**处理意见**:警告继续违纪的后果、违纪者在特定时间内禁止与当事人往来、不得擅自与社区执法者往来,禁令涵盖社区内外、社交网络在内的一切联络。如有违反,可致封禁乃至开除。

### 三、封禁

**社区影响**:严重违纪行为,包括屡教不改。

**处理意见**:违纪者在特定时间内禁止与社区的任何往来或公开联络,禁止任何与当事人公开或私下往来,不得擅自与社区管理者往来。如有违反,可导致开除。

### 四、开除

**社区影响**:典型违纪行为,例如屡教不改、骚扰某个人、敌对或贬低某个群体。

**处理意见**:无限期禁止违纪者与项目社区的一切公开往来。

## 来源

本行为标准改编自[贡献者公约][homepage]2.1 版,可在此查阅:[https://www.contributor-covenant.org/zh-cn/version/2/1/code_of_conduct.html][v2.1]

指导方针借鉴自[Mozilla 纪检分级][mozilla coc]

此行为标准常见问题请洽:[https://www.contributor-covenant.org/faq][faq]

另有诸译本:[https://www.contributor-covenant.org/translations][translations]

[homepage]: https://www.contributor-covenant.org
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
[mozilla coc]: https://github.com/mozilla/diversity
[faq]: https://www.contributor-covenant.org/faq
[translations]: https://www.contributor-covenant.org/translations
96 changes: 96 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# 欢迎来到 KiramiBot 贡献指南

首先,感谢您抽出宝贵时间为 KiramiBot 做出贡献!

我们鼓励并重视所有类型的贡献,您可以通过多种不同的方式为 KiramiBot 做出贡献,请参阅我们支持的[贡献类型](./TYPES_OF_CONTRIBUTIONS.md)

在做出贡献之前,请务必阅读相关章节。这将大大方便我们的维护人员,并使所有相关人员都能顺利完成工作。

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

> 如果您喜欢这个项目,可以为本项目点亮⭐️,这是对我们最大的鼓励。
## 新贡献者指南

要了解项目概况,请阅读 [README](../README.md)。以下是一些帮助您开始开源贡献的资源:

- [如何为开源做贡献](https://opensource.guide/zh-hans/how-to-contribute/)
- [寻找在 GitHub 上贡献开源的方法](https://docs.github.com/zh/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)
- [设置 Git](https://docs.github.com/zh/get-started/quickstart/set-up-git)
- [GitHub 流](https://docs.github.com/zh/get-started/quickstart/github-flow)
- [协作处理拉取请求](https://docs.github.com/zh/pull-requests/collaborating-with-pull-requests)

## 让我们开始吧

### 议题

在创建议题之前,请确保您已经搜索了[现有的议题](https://github.com/A-kirami/KiramiBot/issues),以确保您的议题没有重复。如果您发现议题已经存在,请在现有的议题下添加评论,而不是创建新的议题。

#### 报告问题

如果您发现了一个问题,但是没有时间解决它,或者您不知道如何解决它,您可以创建一个议题。

#### 特性请求

如果您想要添加新的功能,您可以创建一个议题,并描述您想要的特性。

#### 帮助解决

浏览我们现有的议题,找到您感兴趣的议题。您可以使用标签作为过滤器缩小搜索范围。有关更多信息,请参见[标签]()

如果您发现了需要解决的议题,请在议题下添加评论,以便我们知道您正在解决该议题。

### 进行更改

在修复 bug 之前,我们建议您检查是否存在描述 bug 的问题,因为这可能是一个文档问题,或者是否存在一些有助于了解的上下文。

如果您正在开发一个特性,那么我们要求您首先打开一个特性请求议题,以便与维护人员讨论是否需要该特性以及这些特性的设计。这有助于为维护人员和贡献者节省时间,并意味着可以更快地提供特性。

#### 在代码空间中进行更改

[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://github.com/codespaces/new?hide_repo_select=true&ref=master&repo=)

有关代码空间的更多信息,请参阅 [GitHub Codespaces 概述](https://docs.github.com/zh/codespaces/overview)

#### 在开发容器中进行更改

[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/A-kirami/KiramiBot)

如果您已经安装了 VS Code 和 Docker,可以点击上面的徽标或 [这里](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/A-kirami/KiramiBot) 开始使用。点击这些链接后,VS Code 将根据需要自动安装 Dev Containers 扩展,将源代码克隆到容器卷中,并启动一个开发容器以供使用。

#### 在本地环境中进行更改

如果您不想使用代码空间或者开发容器,您可以在本地环境中开发。

KiramiBot 使用 [pdm](https://pdm.fming.dev/) 管理项目依赖。请确保您已经安装了 pdm,然后在项目根目录下运行 `pdm install` 安装依赖。

### 提交修改

一旦对修改满意,就可以将其提交。别忘了进行自我审核和本地测试,以加快审核过程⚡。

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

KiramiBot 的 commit message 格式遵循 [gitmoji](https://gitmoji.dev/) 规范,在创建 commit 时请牢记这一点。

### 创建拉取请求

完成修改后,创建一个拉取请求,也称为 PR。

- 拉取请求标题应尽量使用中文,以便自动生成更新日志。
- 填写拉取请求模板,以便我们审核您的 PR。该模板可帮助审核员了解您的更改以及您的拉取请求的目的。
- 如果您的 PR 修复或解决了现有问题,请[将拉取请求链接到议题](https://docs.github.com/zh/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue)
- 在一个 PR 中有多个提交是可以的。您不需要重新变基或强制推送您的更改,因为我们将使用 Squash Merge 在合并时将您的提交压缩成一个提交。
- 最好提交多个涉及少量文件的拉取请求,而不是提交涉及多个文件的大型拉取请求。这样做可以使审核员更容易理解您的更改,并且可以更快地合并您的更改。
- 我们可能会要求在合并 PR 之前进行更改,或者使用[建议的更改](https://docs.github.com/zh/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/incorporating-feedback-in-your-pull-request),或者拉请求注释。您可以通过 UI 直接应用建议的更改,也可以在 fork 中进行任何其他更改,然后将它们提交到分支。
- 当您更新 PR 并应用更改时,将每个对话标记为[已解决](https://docs.github.com/zh/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/commenting-on-a-pull-request#%E8%A7%A3%E5%86%B3%E5%AF%B9%E8%AF%9D)
- 如果遇到任何合并问题,请查看[解决合并冲突](https://github.com/skills/resolve-merge-conflicts),以帮助您解决合并冲突和其他问题。

## 风格指南

KiramiBot 的代码风格遵循 [PEP 8](https://www.python.org/dev/peps/pep-0008/)[PEP 484](https://www.python.org/dev/peps/pep-0484/) 规范,请确保您的代码风格和项目已有的代码保持一致,变量命名清晰,代码类型完整,有适当的注释与测试代码。

## 版权声明

在为此项目做贡献时,请确保您的贡献内容不会侵犯他人的知识产权,否则您的贡献将被视为无效。

通过贡献您的代码、问题或建议,即表示您同意将您的贡献内容以开源的形式提供,并遵守项目所采用的开源许可证。
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
custom: ["https://afdian.net/a/kiramibot"]
93 changes: 93 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: 🐛 错误报告
title: "BUG: "
description: 创建一个错误报告来帮助我们改进
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
## 注意事项
[GitHub Issues](https://github.com/A-kirami/KiramiBot/issues) 专门用于错误报告和功能需求,这意味着我们不接受使用问题。如果您打开的问题不符合要求,它将会被无条件关闭。
有关使用问题,请通过以下途径:
- 阅读文档以解决
- 在社区内寻求他人解答
- 在 [GitHub Discussions](https://github.com/A-kirami/KiramiBot/discussions) 上提问
- 在网络中搜索是否有人遇到过类似的问题
如果您不知道如何有效、精准地提出一个问题,我们建议您先阅读[《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/main/README-zh_CN.md)。
最后,请记得遵守我们的社区准则,友好交流。
- type: checkboxes
id: terms
attributes:
label: 确认事项
description: 请确认您已遵守所有必选项。
options:
- label: 我已仔细阅读并了解上述注意事项。
required: true
- label: 我已使用最新版本测试过,确认问题依旧存在。
required: true
- label: 我确定在 [GitHub Issues](https://github.com/A-kirami/KiramiBot/issues) 中没有相同或相似的问题。
required: true

- type: input
id: version
attributes:
label: 影响版本
description: 这个问题出现在哪个版本上?
placeholder: 发布版本号或 Commit ID
validations:
required: true

- type: textarea
id: describe
attributes:
label: 问题描述
description: 请清晰简洁地说明问题是什么,并解释您是如何遇到此问题的,以及您为此做出的尝试。
placeholder: 我遇到的问题是……
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: 复现步骤
description: |
提供能复现此问题的详细操作步骤。如果可能,请尝试提供一个可复现的测试用例,该测试用例是发生问题所需的最低限度。
推荐阅读:[《如何创建一个最小的、可复现的示例》](https://stackoverflow.com/help/minimal-reproducible-example)
placeholder: |
1. 首先……
2. 然后……
3. 发生……
validations:
required: true

- type: textarea
id: expected
attributes:
label: 预期行为
description: 您的预期中会发生什么?
placeholder: 正常情况下它应该……

- type: textarea
id: logs
attributes:
label: 日志信息
description: 提供有助于诊断问题的任何日志和完整的错误信息。
placeholder: 请注意将您的敏感信息从日志中过滤或替换。

- type: textarea
id: context
attributes:
label: 额外补充
description: 在此处添加相关的任何其他上下文或截图,或者您觉得有帮助的信息。

- type: checkboxes
id: contribute
attributes:
label: 参与贡献
description: 欢迎加入我们的贡献者行列!
options:
- label: 我有足够的时间和能力,愿意为此提交 PR 来修复问题。
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: 💬 交流论坛
url: https://github.com/A-kirami/KiramiBot/discussions
about: 在这里交流想法、提出问题或者讨论其他事情
Loading

0 comments on commit 767df6a

Please sign in to comment.