Manage Atom feeds in a persistent git repository
README.md

Thicket Bot Configuration#

This directory contains configuration files for the Thicket Zulip bot.

Setup Instructions#

1. Zulip Bot Configuration#

  1. Copy zuliprc.template to zuliprc:

    cp bot-config/zuliprc.template bot-config/zuliprc
    
  2. Create a bot in your Zulip organization:

    • Go to Settings > Your bots > Add a new bot
    • Choose "Generic bot" type
    • Give it a name like "Thicket" and username like "thicket"
    • Copy the bot's email and API key
  3. Edit bot-config/zuliprc with your bot's credentials:

    [api]
    email=thicket-bot@your-org.zulipchat.com
    key=your-actual-api-key-here
    site=https://your-org.zulipchat.com
    

2. Bot Behavior Configuration (Optional)#

  1. Copy botrc.template to botrc to customize bot behavior:

    cp bot-config/botrc.template bot-config/botrc
    
  2. Edit bot-config/botrc to customize:

    • Sync intervals and batch sizes
    • Default stream/topic settings
    • Rate limiting parameters
    • Notification preferences

Note: The bot will work with default settings if no botrc file exists.

File Descriptions#

zuliprc (Required)#

Contains Zulip API credentials for the bot. This file should never be committed to version control.

botrc (Optional)#

Contains bot behavior configuration and defaults. This file can be committed to version control as it contains no secrets.

Template Files#

  • zuliprc.template - Template for Zulip credentials
  • botrc.template - Template for bot behavior settings

Running the Bot#

Once configured, run the bot with:

# Run in foreground
thicket bot run

# Run in background (daemon mode)
thicket bot run --daemon

# Debug mode (sends DMs instead of stream posts)
thicket bot run --debug-user your-thicket-username

# Custom config paths
thicket bot run --config bot-config/zuliprc --botrc bot-config/botrc

Bot Commands#

Once running, interact with the bot in Zulip:

  • @thicket help - Show available commands
  • @thicket status - Show bot status and configuration
  • @thicket sync now - Force immediate sync
  • @thicket schedule - Show sync schedule
  • @thicket claim <username> - Claim a thicket username
  • @thicket config <setting> <value> - Change bot settings

Security Notes#

  • Never commit zuliprc with real credentials
  • Add bot-config/zuliprc to .gitignore
  • The botrc file contains no secrets and can be safely committed
  • Bot settings changed via chat are stored in Zulip's persistent storage

Troubleshooting#

  • Check bot status: thicket bot status
  • View bot logs when running in foreground mode
  • Verify Zulip credentials are correct
  • Ensure thicket.yaml configuration exists
  • Test bot functionality: thicket bot test