Skip to content

johnwatso/SwiftBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

524 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftBot icon

SwiftBot - Native macOS Discord Bot Dashboard

Run, configure, monitor, and automate a Discord bot from a native macOS app.

Platform badge Swift badge Architecture badge License badge Status badge

SwiftBot is a native macOS app for running and managing a Discord bot without living in config files or terminal sessions. Built with Swift and SwiftUI, it provides a single dashboard for bot setup, automation, commands, diagnostics, AI providers, update monitoring, and SwiftMesh failover.

It can run as a single local bot or as part of a SwiftMesh setup where a primary node handles Discord output and standby nodes can take over.

Preview

App Preview

SwiftBot dashboard preview

Web UI Preview

SwiftBot web UI preview

Features

  • Native Discord bot runtime with token validation and invite link generation
  • Slash commands, command logging, and channel configuration
  • Automation rules for voice events, messages, and member joins
  • Patchy update notifications (AMD, NVIDIA, Intel, Steam)
  • WikiBridge-backed knowledge commands
  • AI reply flows via Apple Intelligence, Ollama, or OpenAI
  • Diagnostics for gateway, REST, latency, permissions, intents, rate limits
  • SwiftMesh primary/standby failover
  • Keychain-stored tokens, cached Discord metadata, Sparkle auto-updates

Setup

  • ➡️ Install Guide — download, install, requirements, updates.
  • ➡️ Bot Setup Guide — Discord application, token, intents, OAuth, troubleshooting.
  • ➡️ Web UI Setup Guide — local-only vs public access (Cloudflare Tunnel, reverse proxy).

More walkthroughs live in docs/help/.

Application Areas

Dashboard

  • Overview — bot status, recent activity, and high-level runtime state

Workflows

  • Commands — slash command controls, channel routing, and moderation command toggles
  • Automations — rule builder for voice, message, and member-join events
  • Moderation — server moderation rules and enforcement

Services

  • Patchy — driver, platform, and Steam update monitoring
  • Sweep — channel cleanup and message housekeeping
  • WikiBridge — external knowledge sources and dynamic command setup
  • Recordings — captured media from the last 24h

System

  • AI Bots — Apple Intelligence, Ollama, and OpenAI configuration
  • Analytics — usage metrics and engagement insights
  • Activity — runtime logs and event history
  • SwiftMesh — primary/standby coordination, failover, and cluster diagnostics

Storage

App data lives in ~/Library/Application Support/SwiftBot/ (settings.json, rules.json, discord-cache.json, mesh-cursors.json). Bot tokens are stored in macOS Keychain.

Project Layout

SwiftBotApp/             macOS app, SwiftUI interface, Discord runtime, diagnostics, SwiftMesh
Sources/UpdateEngine/    reusable update-checking engine used by Patchy
Tools/SparklePublisher/  Sparkle publishing helper
Tests/SwiftBotTests/     application test suite
docs/                    GitHub Pages site, release notes, Sparkle appcasts
notes/                   internal planning, design, and review docs

Notes

Caution

SwiftBot depends on Discord APIs, gateway behavior, and bot permissions, which can change over time. Keep the app updated and review Discord's developer policies.

Warning

Bot permissions and privileged gateway intents must be configured correctly. Missing intents or channel permissions can prevent commands, member events, message triggers, or notifications from working.

Note

SwiftBot is under active development — features, UI, and configuration may change between releases.

Issues

Please raise a GitHub issue if something breaks. Include the SwiftBot version, macOS version, affected area, and any relevant diagnostics or log output.

Related Docs

Releases

License

MIT

About

Native macOS Discord bot dashboard built with SwiftUI

Resources

License

Security policy

Stars

Watchers

Forks

Contributors