# koishi-plugin-zanwo

[![npm](https://img.shields.io/npm/v/koishi-plugin-zanwo?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-zanwo)
[![downloads](https://img.shields.io/npm/dm/koishi-plugin-zanwo?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-zanwo)

QQ 点赞插件，支持为自己或他人点赞，每次最多 50 个赞。

## 功能特性

- ✨ 支持为自己点赞（`zanwo` / `赞我`）
- 👥 支持为他人点赞（`zan`），可使用 @ 提及或 QQ 号
- 🎯 自定义点赞数量（1-50），默认 50 个
- 🌐 支持陌生人点赞
- 🎨 自定义成功/失败提示语句（通过本地化配置）
- 🐛 可选的错误报告（集成 Sentry，默认关闭）

## 安装

在 Koishi 控制台的插件市场搜索 `zanwo` 可直接安装。

## 使用方法

### 基础用法

```
zanwo              # 为自己点赞 50 次
赞我               # 同上（别名）
zan @某人          # 为某人点赞 50 次
zan 123456789      # 使用 QQ 号点赞
```

### 指定点赞数量

```
zanwo -c 20        # 为自己点赞 20 次
zan @某人 -c 30    # 为某人点赞 30 次
zan 123456789 -c 10  # 使用 QQ 号点赞 10 次
```

> 💡 点赞数量限制在 1-50 之间，超出范围会自动调整

## 配置项

| 配置项      | 类型    | 默认值  | 说明                            |
| ----------- | ------- | ------- | ------------------------------- |
| `debug`     | boolean | `false` | 开启调试模式，输出详细日志      |
| `sentryDsn` | string  | ``      | Sentry DSN 配置，默认为空不上报 |

## 错误报告说明

本插件支持使用 [Sentry](https://sentry.io) 进行错误报告，帮助开发者快速发现和修复 bug。

### 配置

**方式一：通过插件配置**

1. 进入 Koishi 控制台
2. 找到 `zanwo` 插件配置
3. 在 `sentryDsn` 字段填入你的 Sentry DSN
4. 保存配置

**方式二：通过环境变量**

设置环境变量 `SENTRY_DSN`

```bash
export SENTRY_DSN="https://examplePublicKey@o0.ingest.sentry.io/0"
```

> 💡 如果同时配置了两者，插件配置的优先级更高。

### 数据隐私

- **默认状态**：DSN 留空时，不收集任何错误数据
- **收集内容**：仅收集执行点赞命令时发生的异常信息
- **不收集的内容**：QQ 号、用户 ID、消息内容等敏感信息

## 本地化配置

插件支持自定义成功/失败提示语句，可在控制台 **本地化** 部分手动配置

## 常见问题

### Q: 为什么点赞失败？

A: 可能的原因：

1. 对方未启用陌生人点赞
2. 网络连接问题

### Q: 使用 @ 提及不生效？

A: 确保：

1. 使用正确的格式：`zan @用户名`
2. 在支持 @ 提及的平台使用
3. 或直接使用 QQ 号：`zan @123456789`

## 开发

```bash
# 安装依赖
yarn install

# 构建
yarn build

# 在 Koishi 中测试
yarn dev
```

## 反馈与贡献

- 问题反馈：[Issues](https://git.xmsl.im/liuzhen932/koishi-plugin-zanwo/issues)