Thicket Bot Configuration#
This directory contains configuration files for the Thicket Zulip bot.
Setup Instructions#
1. Zulip Bot Configuration#
-
Copy
zuliprc.templatetozuliprc:cp bot-config/zuliprc.template bot-config/zuliprc -
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
-
Edit
bot-config/zuliprcwith 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)#
-
Copy
botrc.templatetobotrcto customize bot behavior:cp bot-config/botrc.template bot-config/botrc -
Edit
bot-config/botrcto 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 credentialsbotrc.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
zuliprcwith real credentials - Add
bot-config/zuliprcto.gitignore - The
botrcfile 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