Skip to content

Add Uproar (uproar.chat) as a second chat platform#77

Open
donuts-are-good wants to merge 2 commits into
zpalmtree:masterfrom
donuts-are-good:uproar-integration
Open

Add Uproar (uproar.chat) as a second chat platform#77
donuts-are-good wants to merge 2 commits into
zpalmtree:masterfrom
donuts-are-good:uproar-integration

Conversation

@donuts-are-good

Copy link
Copy Markdown
Contributor

Runs dave on Uproar (uproar.chat) alongside Discord, over Uproar's plain bot HTTP API: a WebSocket dial-out for events, the execute endpoint for actions, and the read API for lookups. dave dials out the same way it connects to the Discord gateway, so there is no new hosting (no public URL, webhook, or open port).

What's included

  • lib/Uproar.ts — an Uproar client that wraps each inbound message in a Message-like shim, so the existing command implementations run unchanged: replies, embeds, file attachments (upload then send), reactions + pagination/polls, typing, mentions, member/avatar lookups, and reply-context/history fetch.
  • lib/index.ts — starts the Uproar client after Discord login.
  • lib/Config.ts.exampleuproarBaseUrl / uproarBotId / uproarBotToken (plus the previously-missing geminiApiKey / grokApiKey).
  • README.md — an "Uproar (uproar.chat)" section walking an operator through creating the bot, its permissions, and the config fields.

Safe by default

  • Off unless uproarBotId and uproarBotToken are set, so Discord behaviour is unchanged until it is configured.
  • No dependency or lockfile changes: ws resolves transitively via discord.js, matching the existing @types/ws usage.

Notes

  • Depends on companion Uproar server support (a bot-token file-upload endpoint, resolved mentions on messages, and server_id on bot message events), now deployed.
  • Non-prefix auto-features (link rewriting, auto-transcribe, summary caching) remain Discord-only for now.

Bot now runs on Discord and Uproar simultaneously. New lib/Uproar.ts is a plain
REST + WebSocket-dial-out client that wraps each inbound Uproar message in a
Message-like shim, so existing command implementations run unchanged: replies,
embeds, attachments (upload -> send), reactions/pagination, typing, mentions,
member/avatar lookups, and message history. Gated off unless uproarBotId +
uproarBotToken are set in Config. ws is resolved transitively (node-modules
linker) like the existing @types/ws usage. Also adds the missing
geminiApiKey/grokApiKey to Config.ts.example.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant