discord-ops 0.5.0 → 0.7.0
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.
- package/CHANGELOG.md +33 -0
- package/README.md +107 -2
- package/dist/templates/registry.d.ts +15 -0
- package/dist/templates/registry.d.ts.map +1 -0
- package/dist/templates/registry.js +1274 -0
- package/dist/templates/registry.js.map +1 -0
- package/dist/templates/types.d.ts +113 -0
- package/dist/templates/types.d.ts.map +1 -0
- package/dist/templates/types.js +50 -0
- package/dist/templates/types.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/messaging/list-templates.d.ts +3 -0
- package/dist/tools/messaging/list-templates.d.ts.map +1 -0
- package/dist/tools/messaging/list-templates.js +34 -0
- package/dist/tools/messaging/list-templates.js.map +1 -0
- package/dist/tools/messaging/send-template.d.ts +3 -0
- package/dist/tools/messaging/send-template.d.ts.map +1 -0
- package/dist/tools/messaging/send-template.js +106 -0
- package/dist/tools/messaging/send-template.js.map +1 -0
- package/dist/tools/webhooks/execute-webhook.d.ts.map +1 -1
- package/dist/tools/webhooks/execute-webhook.js +22 -6
- package/dist/tools/webhooks/execute-webhook.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# discord-ops
|
|
2
2
|
|
|
3
|
+
## 0.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c24d139: Cutting-edge template system upgrade — 23 templates with native Discord features
|
|
8
|
+
- **6 new templates**: dashboard (multi-embed status board), progress (visual bar), oncall (shift handoff), standup (daily summary), retro (sprint retrospective), alert (configurable levels)
|
|
9
|
+
- **Native Discord polls**: `poll` template now uses Discord's poll API with progress bars, vote tracking, multiselect, and duration (replaces emoji-based fallback)
|
|
10
|
+
- **Link buttons**: deploy (View Deployment + View Logs), incident (Status Page), review (Open PR), release (Release Notes + npm + Docs), oncall (Runbook), and more
|
|
11
|
+
- **Author branding**: every template supports `author_name` + `author_icon` for consistent identity at the top of embeds
|
|
12
|
+
- **Discord timestamps**: maintenance start/end, incident started_at, announcement deadlines, welcome start_date — all auto-convert to user's timezone with live countdowns
|
|
13
|
+
- **Footer status icons**: deploy, ci_build, incident, status_update show green/red indicator icons
|
|
14
|
+
- **Clickable titles**: release, deploy, review, changelog titles link directly to URLs
|
|
15
|
+
- **Multi-embed dashboards**: up to 10 embeds per message for service status boards
|
|
16
|
+
- **Syntax-highlighted code**: tip template supports `language` var for code block highlighting
|
|
17
|
+
- **Visual progress bars**: Unicode block progress indicator with percentage
|
|
18
|
+
- **Severity-based colors**: incident template colors vary by severity (critical/high/medium/low)
|
|
19
|
+
- **Webhook schema fix**: `execute_webhook` now supports thumbnail, image, author, footer.icon_url (was missing)
|
|
20
|
+
- **Changelog expansion**: deprecated and performance sections added
|
|
21
|
+
- 45 new template tests (255 total)
|
|
22
|
+
|
|
23
|
+
## 0.6.0
|
|
24
|
+
|
|
25
|
+
### Minor Changes
|
|
26
|
+
|
|
27
|
+
- 5a05546: Message template system with 17 built-in Discord embed templates
|
|
28
|
+
- `send_template` tool — send styled embeds using project routing (45 tools total)
|
|
29
|
+
- `list_templates` tool — discover templates with required/optional variables
|
|
30
|
+
- DevOps templates: release, deploy, ci_build, incident, incident_resolved, maintenance, status_update, review
|
|
31
|
+
- Team templates: celebration, welcome, shoutout, quote, announcement, changelog, milestone, tip, poll
|
|
32
|
+
- Curated color palette (success green, error red, celebration pink, premium gold, etc.)
|
|
33
|
+
- All templates support project routing, notification routing, and direct channel targeting
|
|
34
|
+
- 25 new template tests (235 total)
|
|
35
|
+
|
|
3
36
|
## 0.5.0
|
|
4
37
|
|
|
5
38
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Agency-grade Discord MCP server with multi-guild project routing.
|
|
|
8
8
|
|
|
9
9
|
## Features
|
|
10
10
|
|
|
11
|
-
- **
|
|
11
|
+
- **45 MCP tools** — messaging, channels, moderation, roles, webhooks, audit log, threads, guilds, invites, permissions, search, 23 templates, project introspection
|
|
12
12
|
- **Multi-guild project routing** — `send_message({ project: "my-app", channel: "builds" })` instead of raw channel IDs
|
|
13
13
|
- **Notification routing** — map notification types (ci_build, deploy, error) to channels per project
|
|
14
14
|
- **Multi-bot support** — manage multiple Discord bots from a single MCP server with per-project tokens
|
|
@@ -180,7 +180,7 @@ send_message({ channel_id: "123456789", content: "Hello" })
|
|
|
180
180
|
|
|
181
181
|
## Tools
|
|
182
182
|
|
|
183
|
-
### Messaging (
|
|
183
|
+
### Messaging (10 tools)
|
|
184
184
|
|
|
185
185
|
| Tool | Description |
|
|
186
186
|
| ----------------- | ------------------------------------------------- |
|
|
@@ -192,6 +192,8 @@ send_message({ channel_id: "123456789", content: "Hello" })
|
|
|
192
192
|
| `pin_message` | Pin a message in a channel |
|
|
193
193
|
| `unpin_message` | Unpin a message |
|
|
194
194
|
| `search_messages` | Search messages by content, author, or date range |
|
|
195
|
+
| `send_template` | Send a styled embed using a built-in template |
|
|
196
|
+
| `list_templates` | List available templates with required variables |
|
|
195
197
|
|
|
196
198
|
### Channels (8 tools)
|
|
197
199
|
|
|
@@ -317,6 +319,109 @@ DRY_RUN=true discord-ops
|
|
|
317
319
|
|
|
318
320
|
In dry-run mode, destructive tools return a simulated success response showing what would have happened.
|
|
319
321
|
|
|
322
|
+
## Message Templates
|
|
323
|
+
|
|
324
|
+
23 built-in templates with cutting-edge Discord features. Use `send_template` with project routing.
|
|
325
|
+
|
|
326
|
+
**Features across all templates:**
|
|
327
|
+
|
|
328
|
+
- **Author branding** — every template has a configurable `author_name` + `author_icon` at the top
|
|
329
|
+
- **Link buttons** — clickable buttons below embeds (View Logs, Open PR, Runbook, etc.)
|
|
330
|
+
- **Discord timestamps** — dates auto-convert to each user's timezone with live countdowns
|
|
331
|
+
- **Native polls** — real Discord polls with progress bars and vote tracking
|
|
332
|
+
- **Multi-embed dashboards** — up to 10 embeds per message for service status boards
|
|
333
|
+
- **Footer icons** — status indicator icons (green/red) next to footer text
|
|
334
|
+
- **Clickable titles** — embed titles link directly to URLs
|
|
335
|
+
- **Syntax-highlighted code** — code examples with language-specific highlighting
|
|
336
|
+
- **Progress bars** — visual Unicode block progress indicators
|
|
337
|
+
|
|
338
|
+
### DevOps Templates (10)
|
|
339
|
+
|
|
340
|
+
| Template | Description | Key Features |
|
|
341
|
+
| ------------------- | ---------------------------------------------- | -------------------------------------------- |
|
|
342
|
+
| `release` | Version release with install + link buttons | Author, link buttons, clickable title |
|
|
343
|
+
| `deploy` | Deploy success/failure with logs button | Footer icon, view/logs buttons |
|
|
344
|
+
| `ci_build` | CI result with build link button | Footer icon, clickable title |
|
|
345
|
+
| `incident` | Incident alert with severity colors | Discord timestamps, status page button |
|
|
346
|
+
| `incident_resolved` | Resolution with postmortem button | Discord timestamps, postmortem link |
|
|
347
|
+
| `maintenance` | Maintenance with live timezone countdowns | Discord timestamps, countdown, status button |
|
|
348
|
+
| `status_update` | Service status (operational/degraded/outage) | Footer icon, dashboard button |
|
|
349
|
+
| `review` | PR review with diff stats + PR button | Clickable title, additions/deletions |
|
|
350
|
+
| `dashboard` | Multi-embed service status board (up to 9 svc) | Multi-embed, per-service color cards |
|
|
351
|
+
| `oncall` | On-call handoff with shift timestamps | Discord timestamps, runbook button |
|
|
352
|
+
| `alert` | Configurable alert (info/warn/error/critical) | Level-based colors, metric thresholds |
|
|
353
|
+
|
|
354
|
+
### Team & Community Templates (12)
|
|
355
|
+
|
|
356
|
+
| Template | Description | Key Features |
|
|
357
|
+
| -------------- | --------------------------------------- | --------------------------------------------- |
|
|
358
|
+
| `celebration` | Celebrate wins with images | Author, thumbnail, image |
|
|
359
|
+
| `welcome` | Welcome members with onboarding buttons | Discord timestamps, handbook/onboarding links |
|
|
360
|
+
| `shoutout` | Recognize work with avatar thumbnail | Thumbnail, nomination attribution |
|
|
361
|
+
| `quote` | Block-quoted inspirational text | Block quote formatting, author avatar |
|
|
362
|
+
| `announcement` | Announcement with deadline countdown | Discord timestamps, countdown, link button |
|
|
363
|
+
| `changelog` | Changelog with 7 section types | Deprecated, performance, security sections |
|
|
364
|
+
| `milestone` | Milestone with target date countdown | Discord timestamps, progress tracking |
|
|
365
|
+
| `tip` | Pro tip with syntax-highlighted code | Language-specific code blocks, doc button |
|
|
366
|
+
| `poll` | Native Discord poll with vote tracking | Native poll API, multiselect, duration |
|
|
367
|
+
| `progress` | Visual progress bar with deadline | Unicode progress bar, countdown |
|
|
368
|
+
| `standup` | Daily standup summary | Yesterday/today/blockers sections |
|
|
369
|
+
| `retro` | Sprint retrospective | Went-well/improve/actions, velocity |
|
|
370
|
+
|
|
371
|
+
### Example
|
|
372
|
+
|
|
373
|
+
```
|
|
374
|
+
send_template({
|
|
375
|
+
template: "release",
|
|
376
|
+
vars: {
|
|
377
|
+
version: "0.7.0",
|
|
378
|
+
name: "discord-ops",
|
|
379
|
+
notes: "Cutting-edge template system with native Discord features",
|
|
380
|
+
highlights: "23 templates, native polls, link buttons, Discord timestamps",
|
|
381
|
+
npm: "discord-ops@0.7.0",
|
|
382
|
+
link: "https://github.com/bookedsolidtech/discord-ops/releases",
|
|
383
|
+
author_name: "Clarity CI",
|
|
384
|
+
author_icon: "https://example.com/logo.png"
|
|
385
|
+
},
|
|
386
|
+
project: "my-app",
|
|
387
|
+
channel: "releases"
|
|
388
|
+
})
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
### Native Discord Poll
|
|
392
|
+
|
|
393
|
+
```
|
|
394
|
+
send_template({
|
|
395
|
+
template: "poll",
|
|
396
|
+
vars: {
|
|
397
|
+
question: "Best language for MCP servers?",
|
|
398
|
+
options: "TypeScript|Rust|Go|Python",
|
|
399
|
+
duration: "48",
|
|
400
|
+
multiselect: "true"
|
|
401
|
+
},
|
|
402
|
+
project: "my-app",
|
|
403
|
+
channel: "dev"
|
|
404
|
+
})
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
### Multi-Embed Dashboard
|
|
408
|
+
|
|
409
|
+
```
|
|
410
|
+
send_template({
|
|
411
|
+
template: "dashboard",
|
|
412
|
+
vars: {
|
|
413
|
+
services: "API|Database|CDN|Auth|Queue",
|
|
414
|
+
statuses: "operational|operational|degraded|operational|outage",
|
|
415
|
+
title: "Production Status",
|
|
416
|
+
url: "https://status.example.com"
|
|
417
|
+
},
|
|
418
|
+
project: "my-app",
|
|
419
|
+
channel: "alerts"
|
|
420
|
+
})
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
All templates support project routing (`project`, `channel`, `notification_type`, `channel_id`) and author branding (`author_name`, `author_icon`).
|
|
424
|
+
|
|
320
425
|
## Multi-Organization Troubleshooting
|
|
321
426
|
|
|
322
427
|
### Validating your config
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { TemplateRenderer, RenderedTemplate } from "./types.js";
|
|
2
|
+
export interface TemplateInfo {
|
|
3
|
+
name: string;
|
|
4
|
+
category: string;
|
|
5
|
+
description: string;
|
|
6
|
+
requiredVars: string[];
|
|
7
|
+
optionalVars: string[];
|
|
8
|
+
render: TemplateRenderer;
|
|
9
|
+
features?: string[];
|
|
10
|
+
}
|
|
11
|
+
export declare const templates: Record<string, TemplateInfo>;
|
|
12
|
+
export declare function getTemplate(name: string): TemplateInfo | undefined;
|
|
13
|
+
export declare function listTemplates(): TemplateInfo[];
|
|
14
|
+
export declare function renderTemplate(name: string, vars: Record<string, string>): RenderedTemplate;
|
|
15
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/templates/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAi2BpB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA8dlD,CAAC;AAEF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAElE;AAED,wBAAgB,aAAa,IAAI,YAAY,EAAE,CAE9C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAa3F"}
|