API Reference Noizu.Slack v#0.1.0

Copy Markdown View Source

Modules

Slack Web API client for Elixir.

Token introspection (auth.test).

Block Kit builders and limit validation. Builders return plain maps (atom keys) ready for Noizu.Slack.Chat.post_message/4's :blocks.

Messaging (chat.*).

Explicit connection configuration, passed as the first argument to every Web API call.

Channels, DMs and threads (conversations.*).

Structured error returned by every failing Noizu.Slack call as {:error, %Noizu.Slack.Error{}} — never raised in the normal flow.

File uploads via Slack's external upload flow (the legacy files.upload method is retired)

GitHub-flavoured Markdown → Slack mrkdwn. Deterministic, line-based, no deps.

Lazy cursor walker behind every *_stream helper.

Pinned items (pins.*).

Emoji reactions (reactions.*). name is the emoji name without colons.

Web API request engine: builds the Req call, performs it with the bounded retry policy, and decodes Slack's {"ok": ...} envelope.

Search (search.*). Slack requires a user token (xoxp-, search:read) here; pass token: user_token in opts to override the client's bot token per call. Paging is page-number based (count:, page:), not cursor based.

Verifies Slack request signatures (Events API, slash commands, interactivity).

Workspace users (users.*). Slack params go in opts.

Incoming webhooks — no client or token; the URL is the credential (treat it as a secret: never log it).