Metadata-Version: 2.5
Name: tenko-plugin-repeater
Version: 0.1.0
Summary: Tenko 复读机：群友复读时偶尔跟一句，偶尔打断一下
Project-URL: Homepage, https://github.com/g1331/tenko-plugins/tree/main/plugins/repeater
Project-URL: Repository, https://github.com/g1331/tenko-plugins
License-Expression: GPL-3.0-only
Requires-Python: <3.14,>=3.11
Requires-Dist: aiohttp>=3.9
Requires-Dist: tenko-api<0.3,>=0.2
Description-Content-Type: text/markdown

# tenko-plugin-repeater

[Tenko](https://github.com/g1331/tenko) 的复读机插件。群友开始复读时，Tenko 偶尔跟着复读一句，偶尔打断一下。

```text
群友 A：草
群友 B：草
Tenko： 草
```

## 规则

- 连续出现相同内容、并且来自不同的人，才算一串复读；同一个人连发不算。
- 达到 2 个人后，每多一个人复读就判断一次：先以 5% 的概率打断，否则按递增的概率跟一句。
  跟读概率从 15% 起步，第 3 个人约 28%，第 4 个人约 39%。
- 每串复读最多出声一次，出声后这个群冷却 10 分钟。
- 打断时，文字会被打乱字序发出，其他内容换成一句打断语。
- 支持文字、QQ 表情、商城表情和单张图片。图片按内容比较，只在连续两条都是单张图片时才会下载比对。
- 命令、@ 或引用回复的消息、超过 100 字的消息，以及 Tenko 其他账号发的消息都不参与。

插件在新群默认开启，群管理员可以用 `/关闭 复读机` 关掉。

## 安装

在 WebUI 的插件市场安装，或由 Master 在聊天里 `/安装插件 repeater`，启用后重启生效。

## 配置

`config/tenko.toml` 的 `[plugin_config.repeater]`，也可以在 WebUI 的插件配置里修改：

| 配置 | 默认值 | 说明 |
| --- | --- | --- |
| `min_times` | `2` | 几个不同的人发了同一句后开始考虑复读，最小为 2 |
| `repeat_probability` | `0.15` | 达到 `min_times` 时跟一句的概率；之后每多一人，“不跟”的概率再乘以 (1 - 它) |
| `interrupt_probability` | `0.05` | 每次考虑时打断的概率 |
| `cooldown_seconds` | `600` | 同一个群出声后的冷却时间 |
| `max_length` | `100` | 超过这个字数的消息不参与 |
| `interrupt_lines` | `["打断！", "不许复读！", "复读到此为止~"]` | 无法打乱字序时随机挑一句 |
