RSS Remove Command #532

Closed
opened 2025-11-24 21:56:18 +00:00 by Vylpes · 2 comments
Owner

Epic: #528
Story Points:


Create a slash command for moderators to unsubscribe from RSS feeds

Acceptance Criteria

GIVEN I am a moderator
WHEN I run /rss remove id:<ID>
THEN the feed <ID> will be removed from the database

GIVEN I am a moderator
WHEN I run /rss remove id:<ID>
AND the <ID> feed doesn't exist
THEN an error will occur

Subtasks

  • Create /rss remove command in src/commands/
  • Implement moderator permission check
  • Delete feed subscription from database
  • Send confirmation message
  • Add error handling for non-existent feeds
  • Update tests

Notes

  • The parameters for /rss remove are: id (string, required)
  • feedId will be saved as the same format as in audits
Epic: #528 Story Points: --- Create a slash command for moderators to unsubscribe from RSS feeds ## Acceptance Criteria GIVEN I am a moderator WHEN I run `/rss remove id:<ID>` THEN the feed `<ID>` will be removed from the database GIVEN I am a moderator WHEN I run `/rss remove id:<ID>` AND the `<ID>` feed doesn't exist THEN an error will occur ## Subtasks - [x] Create `/rss remove` command in `src/commands/` - [x] Implement moderator permission check - [x] Delete feed subscription from database - [x] Send confirmation message - [x] Add error handling for non-existent feeds - [x] Update tests ## Notes - The parameters for `/rss remove` are: `id` (string, required) - `feedId` will be saved as the same format as in audits
Vylpes added this to the 3.4.0 milestone 2025-11-24 22:17:40 +00:00
Member

Implemented /rss remove on branch cursor/532-rss-remove-command (from feature/epic-528-rss-feeds, same base as the other RSS stories).

PR: #594

  • Adds remove subcommand with required id
  • Looks up FeedId case-insensitively within the guild; replies RSS feed not found. when missing
  • Deletes the subscription and confirms with an embed (ID / URL / Channel)
  • Moderator-only via existing ModerateMembers permission on /rss
  • Local yarn build + yarn test PASS (9 suites / 107 tests)

Moved to step/review and assigned to @Vylpes. Please review/approve — I have not approved or merged.

Implemented `/rss remove` on branch `cursor/532-rss-remove-command` (from `feature/epic-528-rss-feeds`, same base as the other RSS stories). PR: https://git.vylpes.xyz/RabbitLabs/vylbot-app/pulls/594 - Adds `remove` subcommand with required `id` - Looks up `FeedId` case-insensitively within the guild; replies `RSS feed not found.` when missing - Deletes the subscription and confirms with an embed (ID / URL / Channel) - Moderator-only via existing `ModerateMembers` permission on `/rss` - Local `yarn build` + `yarn test` PASS (9 suites / 107 tests) Moved to `step/review` and assigned to @Vylpes. Please review/approve — I have not approved or merged.
Smithy-bot removed their assignment 2026-10-30 11:06:39 +00:00
Smithy-bot stopped working 2026-10-30 11:06:39 +00:00
1 minute 50 seconds
Vylpes removed their assignment 2026-10-30 13:56:15 +00:00
Smithy-bot stopped working 2026-10-31 11:02:46 +00:00
30 seconds
Member

QA results — PASS

Tested on feature/epic-528-rss-feeds @ c3de1d4 (PR #594 merge).

Automated

  • yarn install --frozen-lockfile PASS
  • yarn build (tsc) PASS
  • yarn test PASS — 9 suites / 107 tests / 2 snapshots
  • tests/commands/rss.test.ts remove cases: 6/6 PASS (missing id, not found, remove fail, successful remove + confirmation embed)
  • No yarn lint script in this repo

Acceptance criteria

  • /rss remove subcommand with required id is registered; /rss gated by ModerateMembers
  • Existing feed id → deleted via RssFeed.Remove and confirmation embed (ID / URL / Channel)
  • Missing feed id → RSS feed not found. (case-insensitive lookup)

Moved step/testing → step/uat. Live Discord /rss remove smoke left for human UAT.

## QA results — PASS Tested on `feature/epic-528-rss-feeds` @ `c3de1d4` (PR #594 merge). ### Automated - `yarn install --frozen-lockfile` PASS - `yarn build` (tsc) PASS - `yarn test` PASS — 9 suites / 107 tests / 2 snapshots - `tests/commands/rss.test.ts` remove cases: 6/6 PASS (missing id, not found, remove fail, successful remove + confirmation embed) - No `yarn lint` script in this repo ### Acceptance criteria - `/rss remove` subcommand with required `id` is registered; `/rss` gated by `ModerateMembers` - Existing feed id → deleted via `RssFeed.Remove` and confirmation embed (ID / URL / Channel) - Missing feed id → `RSS feed not found.` (case-insensitive lookup) Moved `step/testing` → `step/uat`. Live Discord `/rss remove` smoke left for human UAT.
Smithy-bot removed their assignment 2026-10-31 11:02:51 +00:00
Smithy-bot added spent time 2026-10-31 11:03:12 +00:00
1 minute 30 seconds
Vylpes 2026-10-31 11:55:47 +00:00
  • closed this issue
  • removed the
    step
    uat
    label
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Total time spent: 3 minutes 50 seconds
Smithy-bot
3 minutes 50 seconds
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks Depends on
#531 RSS Add Command
RabbitLabs/vylbot-app
Reference
RabbitLabs/vylbot-app#532
No description provided.