Skip to content
This repository was archived by the owner on Jan 2, 2026. It is now read-only.

Windows .NET Application to interact with TextBee-API https://github.com/vernu/textbee - leveraging the Android application to provide a "Customer Service" type responder bot leveraging OpenAI API

Notifications You must be signed in to change notification settings

SomeYooper/WinSMS906_Refactored

Repository files navigation

WinSMS906 (Central Messenger) – Project Overview & Plan

📊 Project Summary

WinSMS906 (a.k.a. Central Messenger) is a Windows-based desktop administrative tool built on WPF. It serves as a centralized SMS control panel for managing Android devices connected via the self-hosted TextBee API (api.emcknight.me). This tool forms part of the 906Online/NorthernWISP ecosystem, offering secure, local, and real-time SMS command and oversight.

🧠 Strategic Pivot: Staying on Windows Platform

While web dashboards offer cross-platform utility, WinSMS906 retains its edge by remaining on Windows, ensuring better native performance, local device access, and seamless API integration in managed networks. This allows for secure, self-contained deployments where direct server-to-app communication is desired without exposing additional surface area.

⚙️ Current Features

  1. Authentication
  • Supports email/password and Google OAuth
  • Stores bearer token and user info in static memory
  1. Device Management
  • Pulls linked devices, displays model and status
  • Refresh and dropdown UI with disabled device notices
  1. SMS Sending
  • Sends SMS via selected device
  • Handles errors, displays confirmation
  1. QR-Based Device Linking
  • Generates new API key and QR code for easy device registration
  1. User Experience
  • Clean WPF design in dark mode, personalized for the user

🚀 Expandable Features

  • Message Retrieval
  • Bulk SMS
  • Webhook Listening
  • Token Persistence
  • Device Registration GUI
  • Audit Logs
  • SMS Template Builder

🎯 Future Vision

The goal is to build a full-featured control center for your local SMS infrastructure, serving both internal and client-facing needs. The app should become a real-time, multi-account SMS administration tool with logs, permissions, and visibility controls.

🧰 Suggested Additional Features

  • Real-time SMS monitoring with WebSocket
  • Analytics (message counts, device stats)
  • Per-user message history and log export
  • Role-based access for multi-tenant use
  • Smart replies (GPT-driven)
  • Schedule and queue SMS for delivery
  • CLI or background Windows service companion

📅 Phase-Based Roadmap

Phase 1: Core MVP

  • Login
  • Device Listing
  • Send SMS
  • QR Linking

Phase 2: Communication & Monitoring

  • Message viewer
  • Webhook integration
  • Local caching

Phase 3: Admin Features

  • Ban/revoke devices
  • Multi-user support
  • Permissions

Phase 4: Enhancements

  • Template editor
  • Emoji picker
  • File-based bulk upload

🏢 Ecosystem Context

906Online: Allows business clients to access SMS services securely via the WinSMS906 interface. NorthernWISP: Platform to educate, demo, and guide local users on setting up devices or SMS flows. TextBee API: Self-hosted backend at api.emcknight.me serving as the infrastructure layer.

🎉 Summary

WinSMS906 remains your Yooper-branded, Windows-native desktop command center for SMS management. It anchors your self-hosted SMS infrastructure while offering room to grow into a powerful platform serving both internal staff and external clients.

⚙️ What the App Currently Does

  1. Authentication

Supports email/password login via /auth/login.

Also supports Google OAuth via /auth/google-login?id_token=....

On success, stores tokens in a static AuthState object (BearerToken, Email, DisplayName, etc.) for reuse.

  1. Device Management

Fetches linked Android devices from /gateway/devices using the Bearer token.

Populates a dropdown showing the device’s Brand and Model (e.g., “Google Pixel 3a”).

Displays disabled devices with “(disabled)” status.

Allows quick refreshing of the list.

  1. SMS Sending

Sends text messages via:

POST /gateway/devices/{deviceId}/send-sms { "message": "hello world", "recipients": ["+1906xxxxxxx"] }

Uses only Bearer authorization — no static API keys required.

Displays real-time feedback (e.g., “Sent”, “HTTP 403 error”, “No device selected”).

  1. QR-Based Device Linking

Generates new API keys with:

POST /auth/api-keys → { "data": "d5ac29ae-4450-41ef-b7dc-a369af1810c2" }

Displays the key as both raw text and a QR code (rendered via Google Charts or QRCoder).

The Android TextBee app can scan this QR to register itself with the same user account.

This enables quick onboarding of new phones without manual API key copy/paste.

  1. User Experience

Modern WPF interface using dark colors and your branding (906 style).

Simple workflow:

Login (email/Google)

See “Signed in as Evan McKnight”

Refresh or register device

Send messages directly

🚀 What the App Can Do (Expandable Features)

The groundwork already supports adding:

✅ Full Device Registration Form POST to /gateway/devices with brand, model, OS, etc.

✅ Message Retrieval GET /gateway/devices/{id}/sms for viewing inbound/outbound message logs.

✅ Webhook Management Integrate /auth/webhooks for live status updates.

✅ Bulk Messaging Hook into /gateway/devices/{id}/send-bulk-sms.

✅ Token Storage / Refresh Extend AuthState to persist bearer tokens securely between sessions.

About

Windows .NET Application to interact with TextBee-API https://github.com/vernu/textbee - leveraging the Android application to provide a "Customer Service" type responder bot leveraging OpenAI API

Resources

Stars

Watchers

Forks

Languages