ErisPulse-Raffle 1.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- Raffle/Core.py +858 -0
- Raffle/__init__.py +1 -0
- Raffle/templates/__init__.py +0 -0
- Raffle/templates/view.css +433 -0
- Raffle/templates/view.html +295 -0
- Raffle/templates/view.js +921 -0
- erispulse_raffle-1.0.0.dist-info/METADATA +123 -0
- erispulse_raffle-1.0.0.dist-info/RECORD +11 -0
- erispulse_raffle-1.0.0.dist-info/WHEEL +5 -0
- erispulse_raffle-1.0.0.dist-info/entry_points.txt +2 -0
- erispulse_raffle-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ErisPulse-Raffle
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: 通用抽奖模块 - 使用 Dashboard 可视化管理、群聊报名、开奖动画和广播通知
|
|
5
|
+
Author: ErisPulse
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: homepage, https://github.com/ErisPulse/ErisPulse-Raffle
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
|
+
Description-Content-Type: text/markdown
|
|
10
|
+
|
|
11
|
+
# ErisPulse-Raffle
|
|
12
|
+
|
|
13
|
+
通用抽奖模块 - 基于 ErisPulse Dashboard 可视化管理,支持群聊关键词报名、开奖动画、广播通知。
|
|
14
|
+
|
|
15
|
+
## 功能
|
|
16
|
+
|
|
17
|
+
- **Dashboard 管理** - 可视化创建/编辑活动、管理参与者、黑白名单、一键开奖
|
|
18
|
+
- **关键词报名** - 用户在群聊中发送指定关键词即可参与,无需 @机器人
|
|
19
|
+
- **多平台支持** - 通过适配器同时支持云湖、Telegram、OneBot 等平台
|
|
20
|
+
- **开奖撤回** - 开奖后可撤回结果,恢复为报名中状态
|
|
21
|
+
- **活动通知** - 从 Dashboard 向任意平台/会话发送活动开始通知(支持多目标批量发送)
|
|
22
|
+
- **开奖广播** - 开奖后自动向所有关联群聊广播结果
|
|
23
|
+
- **富文本降级** - `/raffle` 命令根据平台能力自动选择 Html / Markdown / 纯文本
|
|
24
|
+
- **模板自定义** - 所有回复消息(报名、广播、通知等)均可自定义
|
|
25
|
+
|
|
26
|
+
## 安装
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
epsdk install Raffle
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 使用
|
|
33
|
+
|
|
34
|
+
### 群聊报名
|
|
35
|
+
|
|
36
|
+
用户在已关联的群聊中发送活动关键词即可自动报名:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
抽奖 # 发送配置的关键词即可参与
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 查看活动
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
/raffle # 查看自己已参与的活动 + 当前群聊的活动
|
|
46
|
+
/活动 # 同上,中文别名
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Dashboard 管理
|
|
50
|
+
|
|
51
|
+
安装 [ErisPulse-Dashboard](https://pypi.org/project/ErisPulse-Dashboard/) 后,在侧边栏「工具」分组中找到「抽奖管理」。
|
|
52
|
+
|
|
53
|
+
## 活动配置项
|
|
54
|
+
|
|
55
|
+
| 配置 | 说明 |
|
|
56
|
+
|------|------|
|
|
57
|
+
| 活动 ID | 唯一标识,留空自动生成 |
|
|
58
|
+
| 活动名称 | 显示名称 |
|
|
59
|
+
| 活动描述 | 简短描述 |
|
|
60
|
+
| 开奖人数 | 抽取的中奖者数量 |
|
|
61
|
+
| 触发关键词 | 逗号分隔,用户发送包含关键词的消息即视为报名 |
|
|
62
|
+
| 自动确认参与 | 开启后跳过「待录入」状态,直接加入已确认组 |
|
|
63
|
+
| 白名单模式 | 仅白名单中的用户可以参与 |
|
|
64
|
+
| 允许的群聊 | 指定哪些平台/群聊可以参与本次活动 |
|
|
65
|
+
|
|
66
|
+
## 通知功能
|
|
67
|
+
|
|
68
|
+
在 Dashboard 中点击活动旁的铃铛按钮,可向指定目标发送活动通知:
|
|
69
|
+
|
|
70
|
+
- 选择平台、会话类型(私聊/群聊/频道/服务器/话题)、目标 ID
|
|
71
|
+
- 可选指定机器人账号(多 Bot 场景)
|
|
72
|
+
- 支持添加自定义备注内容(追加到模板末尾)
|
|
73
|
+
- 支持多目标批量发送
|
|
74
|
+
- 发送历史记录 + 一键重发
|
|
75
|
+
|
|
76
|
+
## 回复模板
|
|
77
|
+
|
|
78
|
+
所有回复消息均可在 Dashboard「回复模板」区域自定义:
|
|
79
|
+
|
|
80
|
+
| 模板 | 触发场景 | 变量 |
|
|
81
|
+
|------|---------|------|
|
|
82
|
+
| 报名成功 | 用户首次成功报名 | `{name}`, `{count}`, `{activity_name}` |
|
|
83
|
+
| 已报名提示 | 用户重复报名 | `{name}` |
|
|
84
|
+
| 待确认提示 | 手动确认模式下报名 | `{name}` |
|
|
85
|
+
| 开奖广播 | 开奖后广播到关联群聊 | `{activity_name}`, `{winner_names}`, `{winner_count}`, `{total_participants}` |
|
|
86
|
+
| 活动通知 | 从 Dashboard 发送通知 | `{activity_name}`, `{description}`, `{draw_count}`, `{keywords}` |
|
|
87
|
+
| 黑名单拦截 | 黑名单用户尝试报名 | - |
|
|
88
|
+
| 非白名单拦截 | 白名单模式下非白名单用户尝试 | - |
|
|
89
|
+
|
|
90
|
+
## 界面
|
|
91
|
+
|
|
92
|
+

|
|
93
|
+
|
|
94
|
+
## API
|
|
95
|
+
|
|
96
|
+
模块注册以下 HTTP API(需 Dashboard Token 认证):
|
|
97
|
+
|
|
98
|
+
| 路由 | 方法 | 说明 |
|
|
99
|
+
|------|------|------|
|
|
100
|
+
| `/Raffle/api/platforms` | GET | 获取已注册平台列表 |
|
|
101
|
+
| `/Raffle/api/settings` | GET/PUT | 读取/更新模块设置 |
|
|
102
|
+
| `/Raffle/api/activities` | GET/POST | 列出/创建活动 |
|
|
103
|
+
| `/Raffle/api/activities/{id}` | GET/PUT/DELETE | 查看/更新/删除活动 |
|
|
104
|
+
| `/Raffle/api/activities/{id}/participants` | GET | 获取参与者列表 |
|
|
105
|
+
| `/Raffle/api/activities/{id}/participants/{uid}` | PUT/DELETE | 确认/撤回/移除参与者 |
|
|
106
|
+
| `/Raffle/api/activities/{id}/draw` | POST | 开奖 |
|
|
107
|
+
| `/Raffle/api/activities/{id}/draw/revert` | POST | 撤回开奖 |
|
|
108
|
+
| `/Raffle/api/activities/{id}/result` | GET | 获取开奖结果 |
|
|
109
|
+
| `/Raffle/api/activities/{id}/blacklist` | GET/PUT | 黑名单管理 |
|
|
110
|
+
| `/Raffle/api/activities/{id}/whitelist` | GET/PUT | 白名单管理 |
|
|
111
|
+
| `/Raffle/api/activities/{id}/notify` | POST | 发送活动通知 |
|
|
112
|
+
| `/Raffle/api/activities/{id}/notify/history` | GET | 获取通知发送历史 |
|
|
113
|
+
| `/Raffle/api/activities/{id}/notify/resend/{hid}` | POST | 重发通知 |
|
|
114
|
+
|
|
115
|
+
## 命令
|
|
116
|
+
|
|
117
|
+
| 命令 | 别名 | 说明 |
|
|
118
|
+
|------|------|------|
|
|
119
|
+
| `/raffle` | `/活动` | 查看已参与的活动和当前群聊的活动 |
|
|
120
|
+
|
|
121
|
+
## 许可证
|
|
122
|
+
|
|
123
|
+
MIT
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
Raffle/Core.py,sha256=sjGqCyRJKqiytXwjIwtjNEDO2dv9eb2Js1yCTdJXT5U,41183
|
|
2
|
+
Raffle/__init__.py,sha256=JwoeoQdhhcY7hAjctiHNX1167xLlXwfy7Qa_z1ftAE8,23
|
|
3
|
+
Raffle/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
Raffle/templates/view.css,sha256=0xHo6PUjSG-xqwIZh54WSoeaTjL2BUwtLvzMlmFwlWc,8034
|
|
5
|
+
Raffle/templates/view.html,sha256=JZnjKp3-0JnnxAAPcifGHod_QyllwVvLBawz5llVLFA,17041
|
|
6
|
+
Raffle/templates/view.js,sha256=YsDocRoVzFxjRPk-0Cul7-a6fsoNoYcOMYT6rtoa0tY,40659
|
|
7
|
+
erispulse_raffle-1.0.0.dist-info/METADATA,sha256=9SQcz81lenDbObHslb3hwr9x-BnTE7GOXPH5qBGpvoE,4696
|
|
8
|
+
erispulse_raffle-1.0.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
9
|
+
erispulse_raffle-1.0.0.dist-info/entry_points.txt,sha256=-vBFOQHcl--Vt9vyG2UuFnR5wONEMmn8f-dlqvFTvvQ,40
|
|
10
|
+
erispulse_raffle-1.0.0.dist-info/top_level.txt,sha256=NumZ7YvpkFk-vaHmB3qKYF3SSOvTR4jgxrpdp2tnktE,7
|
|
11
|
+
erispulse_raffle-1.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Raffle
|