ErisPulse 反馈系统模块
Project description
ErisPulse-Feedback
ErisPulse 反馈系统模块
功能特性
- 反馈提交 - 用户可以提交反馈,选择类别并输入内容
- 反馈列表 - 查看所有反馈及统计信息
- 状态管理 - 修改反馈状态(待处理/处理中/已完成/搁置)
- 多群聊支持 - 每个群聊可以独立设置反馈组
- 反馈组管理 - 一个反馈组可以包含多个群聊
- 灵活配置 - 支持自定义类别、超时时间、内容长度等
- 多格式消息 - 支持 HTML、Markdown、纯文本三种消息格式
- 权限系统 - 创建者/管理员/维护者三级权限
- 退出反馈组 - 群聊可以退出所属的反馈组
- 解散反馈组 - 仅反馈组创建者可以解散反馈组
- 编辑反馈 - 用户可以编辑自己提交的反馈(仅待处理状态)
- 数据导出 - 导出反馈数据为 JSON 格式,方便备份和迁移
- 数据导入 - 导入之前导出的 JSON 数据,支持覆盖和合并模式
安装
epsdk install feedback
配置
在 config.toml 中添加以下配置:
[Feedback]
# 命令配置
commands = ["提交反馈", "反馈列表", "修改状态", "反馈帮助", "设置反馈组", "导出数据", "导入数据", "编辑反馈"]
# 全局管理员ID列表
global_admins = ["admin_user_1", "admin_user_2"]
# 默认反馈类别
default_categories = ["功能", "优化", "建议", "bug"]
# 超时时间(秒)
timeout = 60
# 内容最大长度
max_content_length = 500
# 反馈ID前缀
id_prefix = "#"
# 存储前缀
storage_prefix = "fb_"
全局管理员配置
全局管理员拥有最高权限,可以管理所有反馈组。在配置文件中设置 global_admins 列表即可。
全局管理员可以使用隐藏命令 /反馈全局管理 来执行高级操作:
- 列出所有反馈组
- 重新设定任意反馈组的管理员
- 解散任意反馈组
使用说明
核心概念
反馈组:一个可以包含多个群聊的反馈系统。每个反馈组有自己的配置和数据,与其他反馈组完全隔离。
权限角色:
-
创建者:创建反馈组的用户,拥有最高权限
- 添加/移除管理员和维护者
- 配置反馈组
- 将其他群加入到该反馈组
- 解散反馈组
- 修改所有反馈状态
-
管理员:由创建者添加,拥有除解散外的全部权限
- 添加群聊到反馈组
- 配置反馈组
- 修改反馈状态
- 添加/移除维护者
-
维护者:由创建者或管理员添加,可以修改反馈状态
- 修改反馈状态
-
全局管理员:配置在
global_admins中的用户,拥有最高权限
基本使用流程
场景:多群共享反馈系统
假设你有多个群聊,希望共享一个反馈系统:
步骤1:在第一个群创建反馈组
在群A中执行:
/设置反馈组
系统会显示管理菜单:
1. 创建新的反馈组
2. 加入现有反馈组
3. 查看反馈组信息
4. 配置反馈组
5. 退出反馈组
6. 解散反馈组
选择"1",然后输入反馈组名称,例如"ErisPulse框架清单"。
创建成功后,系统会显示反馈组ID(如 group_1)。
步骤2:将其他群加入反馈组
在群B中,由反馈组创建者或管理员执行:
/设置反馈组
选择"2. 加入现有反馈组",输入反馈组ID group_1。
成功后,群B就加入了"ErisPulse框架清单"反馈组。
步骤3:用户提交反馈
现在,群A和群B的用户都可以:
/提交反馈
所有反馈都会存储在同一个反馈组中,在任何群都可以查看。
步骤4:查看反馈列表
在群A或群B中:
/反馈列表
可以看到所有反馈的统计和详情。
步骤5:修改反馈状态
维护者及以上权限可以修改状态:
/修改状态
选择要修改的反馈并更改状态。状态包括:待处理、处理中、已完成、搁置。
步骤6:编辑自己的反馈
用户可以编辑自己提交的反馈(仅待处理状态):
/编辑反馈
管理功能
配置反馈组
反馈组创建者或管理员可以配置反馈组:
/设置反馈组
选择"4. 配置反馈组",可以选择配置:
- 反馈类别 - 设置可用的反馈类别(如:功能,优化,建议,bug)
- 超时时间 - 设置操作超时时间(10-300秒)
- 内容最大长度 - 设置反馈内容的最大长度(10-2000字)
- 反馈ID前缀 - 设置反馈ID的前缀(如 #, FB, 等)
- 成员管理 - 添加/移除管理员或维护者
退出反馈组
群聊可以退出所属的反馈组:
/设置反馈组
选择"5. 退出反馈组"。
注意:创建者不能退出反馈组,只能解散。
解散反馈组(仅创建者可用)
反馈组创建者可以解散反馈组:
/设置反馈组
选择"6. 解散反馈组",系统会显示警告信息并要求确认。
注意:解散后,所有反馈数据将被永久删除,无法恢复。
全局管理员命令
全局管理员可以使用隐藏命令:
/反馈全局管理
系统会显示全局管理员菜单:
1. 列出所有反馈组
2. 重新设定组管理员
3. 解散反馈组
列出所有反馈组:查看系统中所有反馈组的详细信息,包括ID、名称、创建者、管理员、关联群聊数等。
重新设定组管理员:修改任意反馈组的管理员列表,第一个ID将成为新的创建者。
解散反馈组:解散任意反馈组,需要二次确认。
查看反馈组信息
/设置反馈组
选择"3. 查看反馈组信息"可查看:
- 反馈组ID和名称
- 创建者、管理员、维护者列表
- 关联的群聊
- 创建时间
- 当前配置
权限说明
| 角色 | 创建反馈组 | 添加群聊 | 配置反馈组 | 成员管理 | 退出反馈组 | 解散反馈组 | 修改状态 | 编辑自己反馈 |
|---|---|---|---|---|---|---|---|---|
| 创建者 | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
| 管理员 | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| 维护者 | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ✅ | ✅ |
| 全局管理员 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 普通用户 | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ |
重要提示
-
只有反馈组创建者或管理员才能添加群聊:如果你想让其他群加入你的反馈组,需要由你(创建者或管理员)在那个群里执行加入操作。
-
创建者不能退出反馈组:创建者只能解散反馈组,或者转移创建者身份后由新创建者操作。
-
数据隔离:不同反馈组的数据完全独立,不会相互影响。
-
配置可继承:新创建的反馈组会使用全局配置作为默认值,但创建后可以独立修改。
-
解散警告:解散反馈组会永久删除所有数据,请谨慎操作。
-
隐藏命令:全局管理员命令不会在帮助中显示,只有知道命令名称的全局管理员才能使用。
-
全局管理员权限:全局管理员拥有最高权限,请谨慎配置 global_admins 列表。
-
数据备份建议:定期使用导出功能备份数据,特别是在进行重要操作前。
-
导入数据安全:导入操作不可撤销,建议在导入前先导出当前数据作为备份。
-
编辑反馈限制:只能编辑自己提交的、状态为"待处理"的反馈。
数据结构
反馈组数据
{
"id": "group_1",
"name": "产品反馈",
"creator_id": "user123",
"admin_ids": ["user456"],
"maintainer_ids": ["user789"],
"allowed_groups": ["G001", "G002", "G003"],
"config": {
"categories": ["功能", "优化", "建议", "bug"],
"timeout": 60,
"max_content_length": 500,
"id_prefix": "#"
},
"created_at": 1234567890
}
反馈数据
{
"id": "#1",
"group_id": "group_1",
"source_group_id": "G001",
"user_id": "U001",
"user_nickname": "张三",
"category": "功能",
"content": "希望添加导出功能",
"status": "pending",
"timestamp": 1234567890
}
状态说明
| 状态 | 说明 |
|---|---|
| pending | 待处理 |
| processing | 处理中 |
| completed | 已完成 |
| rejected | 搁置 |
开发
项目结构
ErisPulse_Feedback
├── __init__.py
├── Core.py # 主模块类
├── logic.py # 业务逻辑(反馈组管理 + 反馈管理)
├── templates.py # 消息模板
└── registry.py # 命令注册
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file erispulse_feedback-1.1.0.tar.gz.
File metadata
- Download URL: erispulse_feedback-1.1.0.tar.gz
- Upload date:
- Size: 28.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fa453e51e773c5588b08fbb5d02c621aa2e0c83350942340c2fb707779f5a4c
|
|
| MD5 |
b4dac6b9a3e477d32addd97460ad046b
|
|
| BLAKE2b-256 |
a8332b6811a4698f0e633f86f234d8aac2e358ecdc75d70b675c7bce332f35fb
|
Provenance
The following attestation bundles were made for erispulse_feedback-1.1.0.tar.gz:
Publisher:
python-publish.yml on wsu2059q/ErisPulse-Feedback
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
erispulse_feedback-1.1.0.tar.gz -
Subject digest:
5fa453e51e773c5588b08fbb5d02c621aa2e0c83350942340c2fb707779f5a4c - Sigstore transparency entry: 1262798961
- Sigstore integration time:
-
Permalink:
wsu2059q/ErisPulse-Feedback@1a3a0dd4709f369771d42d407137df454129b447 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/wsu2059q
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@1a3a0dd4709f369771d42d407137df454129b447 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file erispulse_feedback-1.1.0-py3-none-any.whl.
File metadata
- Download URL: erispulse_feedback-1.1.0-py3-none-any.whl
- Upload date:
- Size: 30.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b20923e0ad3d0f668626ec650c00bdd46aac5db6140f22790a09440897686f77
|
|
| MD5 |
358370d36a263e6e0cb4dcbc9c69d704
|
|
| BLAKE2b-256 |
ba8cbc92f4df7d4bc51de9c50e2c90b8b67d783babb869b995db1a44060bf90b
|
Provenance
The following attestation bundles were made for erispulse_feedback-1.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on wsu2059q/ErisPulse-Feedback
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
erispulse_feedback-1.1.0-py3-none-any.whl -
Subject digest:
b20923e0ad3d0f668626ec650c00bdd46aac5db6140f22790a09440897686f77 - Sigstore transparency entry: 1262798966
- Sigstore integration time:
-
Permalink:
wsu2059q/ErisPulse-Feedback@1a3a0dd4709f369771d42d407137df454129b447 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/wsu2059q
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@1a3a0dd4709f369771d42d407137df454129b447 -
Trigger Event:
workflow_dispatch
-
Statement type: