Skip to content

Support Slack alternatives (Microsoft Teams, Discord) #4

@UnbrandedTech

Description

@UnbrandedTech

Summary

Slack integration is deeply embedded — slack_sync.py, slack_todo_scan.py, honcho_slack_sync.py, bot detection, channel exclusion. Not everyone uses Slack.

What needs to change

  • Abstract the messaging platform behind an interface: sync_messages(), get_channels(), get_users()
  • slack_sync.pysync_messages.py with a --provider slack|teams|discord flag
  • Microsoft Teams: use Graph API (same auth as email if using M365)
  • Discord: use discord.py or REST API with bot token
  • slack_todo_scan.py — the action item scanning logic is platform-agnostic once messages are in JSONL format. Just needs the JSONL schema to be consistent across providers.
  • honcho_slack_sync.pyhoncho_messages_sync.py — rename, make provider-agnostic
  • discover_workspace.py — bot detection is Slack-specific (is_bot field). Other platforms have different bot indicators.
  • config.pyEXCLUDE_CHANNELS concept maps to Teams channels and Discord servers/channels

Approach

Keep the JSONL-per-channel format as the common intermediate. Each provider adapter writes to the same format. Downstream scripts (todo scan, Honcho sync, discovery) don't need to know the source.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions