MCPcopy Create free account
hub / github.com/CreminiAI/skillpack / parseChannelId

Method parseChannelId

src/runtime/adapters/slack.ts:781–804  ·  view source on GitHub ↗

* Parse a skillpack channelId into a SlackRoute. * Supports: * slack-dm- - → { channel: } * slack-thread- - - → { channel: , threadTs: }

(channelId: string)

Source from the content-addressed store, hash-verified

779 * Parse a skillpack channelId into a SlackRoute.
780 * Supports:
781 * slack-dm-<teamId>-<channelId> → { channel: <channelId> }
782 * slack-thread-<teamId>-<ch>-<ts> → { channel: <ch>, threadTs: <ts> }
783 */
784 private parseChannelId(channelId: string): SlackRoute {
785 if (channelId.startsWith("slack-thread-")) {
786 // slack-thread-<teamId>-<channel>-<threadTs>
787 const rest = channelId.replace("slack-thread-", "");
788 const parts = rest.split("-");
789 // teamId is parts[0], channel is parts[1], threadTs is parts[2+]
790 if (parts.length >= 3) {
791 const threadTs = parts.slice(2).join("-");
792 return { channel: parts[1], threadTs };
793 }
794 }
795
796 if (channelId.startsWith("slack-dm-")) {
797 // slack-dm-<teamId>-<channelId>
798 const rest = channelId.replace("slack-dm-", "");
799 const parts = rest.split("-");
800 if (parts.length >= 2) {
801 return { channel: parts.slice(1).join("-") };
802 }
803 }
804
805 // Fallback: treat as raw channel ID
806 return { channel: channelId };
807 }

Callers 1

sendMessageMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected