File size: 1,437 Bytes
eb3f11e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // Permissions and search command registration for channel message surfaces.
import type { Command } from "commander";
import { collectOption } from "../helpers.js";
import type { MessageCliHelpers } from "./helpers.js";
/** Register the channel permissions inspection command. */
export function registerMessagePermissionsCommand(message: Command, helpers: MessageCliHelpers) {
helpers
.withMessageBase(
helpers.withRequiredMessageTarget(
message.command("permissions").description("Fetch channel permissions"),
),
)
.action((opts) => helpers.runMessageAction("permissions", opts));
}
/** Register the channel message search command and repeatable filters. */
export function registerMessageSearchCommand(message: Command, helpers: MessageCliHelpers) {
helpers
.withMessageBase(message.command("search").description("Search messages"))
.requiredOption("--query <text>", "Search query")
.option("--guild-id <id>", "Guild id (Discord)")
.option(
"--channel-id <id>",
"Channel id (Discord) or Graph team-id/channel-id (Microsoft Teams)",
)
.option("--channel-ids <id>", "Channel id (repeat)", collectOption, [] as string[])
.option("--author-id <id>", "Author id")
.option("--author-ids <id>", "Author id (repeat)", collectOption, [] as string[])
.option("--limit <n>", "Result limit")
.action((opts) => helpers.runMessageAction("search", opts));
}
|