Major Features: - Implemented full Slack channel-bot adapter with Socket Mode - Added 35+ Mastodon platform skills across 7 categories - Created constitution publishing system for Mastodon Slack Adapter (NEW): - Full PlatformAdapter implementation (1071 lines) - Socket Mode for real-time events - 16 channel-scoped governance skills - User group management as channel "roles" - Channel access control and management - Message pinning and moderation - Platform limitations documentation - Comprehensive setup guide (SLACK_SETUP.md) Mastodon Platform Skills (ENHANCED): - Account Moderation (9 skills): suspend, silence, disable, mark sensitive, delete status - Account Management (4 skills): approve, reject, delete data, create account - Report Management (4 skills): assign, unassign, resolve, reopen - Federation Management (4 skills): block/unblock domains, allow/disallow federation - Security Management (4 skills): block IP/email domains - Constitution Management (2 skills): publish constitution, update profile - Documented web-only limitations (role management requires tootctl) Constitution Publishing: - Publish constitution as pinned Mastodon thread - Automatic deprecation of previous versions - Version control with change summaries - Thread splitting for long documents - CLI tool: scripts/publish_constitution.py - Documentation: CONSTITUTION_PUBLISHING.md Configuration & Integration: - Added SlackConfig model with bot_token, app_token, channel_id - Updated PlatformConfig to support type: slack - Added slack-sdk>=3.33.0 dependency - Bot.py now routes to Slack adapter - Updated example config with Slack section Documentation: - SLACK_SETUP.md: Complete Slack setup guide - PLATFORM_SKILLS.md: All 35+ Mastodon skills documented - CONSTITUTION_PUBLISHING.md: Constitution publishing guide - Updated README.md: Merged QUICKSTART, added Slack to supported platforms - Updated PLATFORMS.md: Slack marked as implemented with examples - Updated .gitignore: Added instance-specific state files Security: - All sensitive files properly gitignored - Instance-specific state (.constitution_post_id) excluded - Credentials properly handled in config Breaking Changes: None Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
50 lines
1.2 KiB
YAML
50 lines
1.2 KiB
YAML
platform:
|
|
# Platform type: mastodon, slack, discord, telegram, mock
|
|
type: mastodon
|
|
|
|
# Mastodon configuration (if using Mastodon)
|
|
mastodon:
|
|
instance_url: https://your-mastodon-instance.social
|
|
client_id: your_client_id_here
|
|
client_secret: your_client_secret_here
|
|
access_token: your_access_token_here
|
|
bot_username: govbot
|
|
|
|
# Slack configuration (if using Slack)
|
|
# slack:
|
|
# bot_token: xoxb-your-bot-oauth-token-here
|
|
# app_token: xapp-your-app-level-token-here
|
|
# channel_id: C0123456789
|
|
|
|
# Discord configuration (for future use)
|
|
# discord:
|
|
# token: your_discord_bot_token
|
|
# guild_id: your_server_id
|
|
|
|
# Telegram configuration (for future use)
|
|
# telegram:
|
|
# bot_token: your_telegram_bot_token
|
|
# group_id: your_group_id
|
|
|
|
ai:
|
|
# Use 'llama3.2' for Ollama local models
|
|
# Use 'gpt-4' for OpenAI
|
|
# Use 'claude-3-sonnet' for Anthropic
|
|
# Or leave as null to use llm default
|
|
default_model: llama3.2
|
|
fallback_model: null
|
|
temperature: 0.7
|
|
max_tokens: null
|
|
|
|
governance:
|
|
constitution_path: constitution.md
|
|
db_path: govbot.db
|
|
default_veto_threshold: 0.67 # 2/3 supermajority
|
|
enable_auto_execution: true
|
|
require_confirmation_for:
|
|
- admin_action
|
|
- moderation
|
|
|
|
debug: false
|
|
log_level: INFO
|