My agentic slop goes here. Not intended for anyone else!
1# Vicuna Bot - Quick Usage Guide
2
3## The Email Problem
4
5When you authenticate to Zulip using OAuth, SSO, or other third-party authentication methods, Zulip often assigns you an auto-generated email address like:
6
7- `user123@zulipchat.com`
8- `person456@zulip.example.com`
9
10This isn't your actual email address - it's just an internal identifier.
11
12## The Smart Solution
13
14**Good news!** Vicuna now automatically detects your real email address from your Zulip profile!
15
16Most users can simply type `register` and the bot will try multiple sources:
171. Your `delivery_email` from Zulip profile (the real email associated with your account)
182. Your `user.email` from Zulip profile API (may be your real email depending on server config)
193. Your Zulip message sender email as a fallback
20
21**No need to manually provide your email in most cases!**
22
23## Registration Options
24
25### Option 1: Smart Auto-Detection (RECOMMENDED - Just type `register`)
26
27```
28> register
29```
30
31The bot will automatically fetch your real email from your Zulip profile!
32
33**Response (when delivery_email is available):**
34```
35✅ Successfully registered!
36• Email: `alice@mycompany.com`
37• Zulip ID: `12345`
38• Full Name: `Alice Smith`
39
40💡 Your Zulip email is: `user123@zulipchat.com`
41📧 Using your delivery email from your profile
42You can now be @mentioned by your email or Zulip ID!
43```
44
45The bot automatically found `alice@mycompany.com` from your profile!
46
47**Response (when delivery_email is NOT available):**
48```
49✅ Successfully registered!
50• Email: `user123@zulipchat.com`
51• Zulip ID: `12345`
52• Full Name: `Alice Smith`
53
54💡 Your Zulip email is: `user123@zulipchat.com`
55You can now be @mentioned by your email or Zulip ID!
56```
57
58Falls back to Zulip email if delivery_email isn't available.
59
60### Option 2: Manual Email Override
61
62```
63> register alice@mycompany.com
64```
65
66Manually specify a custom email (overrides auto-detection).
67
68**Response:**
69```
70✅ Successfully registered!
71• Email: `alice@mycompany.com`
72• Zulip ID: `12345`
73• Full Name: `Alice Smith`
74
75💡 Your Zulip email is: `user123@zulipchat.com`
76📝 Using the custom email you provided
77You can now be @mentioned by your email or Zulip ID!
78```
79
80## Lookup Examples
81
82### Find Someone by Email
83
84```
85> whois alice@mycompany.com
86
87👤 User found:
88• Email: `alice@mycompany.com`
89• Zulip ID: `12345`
90• Full Name: `Alice Smith`
91• Registered: 2025-01-15 10:30:45
92```
93
94### Find Someone by Zulip ID
95
96```
97> whois 12345
98
99👤 User found:
100• Email: `alice@mycompany.com`
101• Zulip ID: `12345`
102• Full Name: `Alice Smith`
103• Registered: 2025-01-15 10:30:45
104```
105
106## Check Your Status
107
108```
109> whoami
110
111📋 Your registration info:
112• Email: `alice@mycompany.com`
113• Zulip ID: `12345`
114• Full Name: `Alice Smith`
115• Registered: 2025-01-15 10:30:45
116```
117
118## List All Users
119
120```
121> list
122
123📋 Registered users (3):
124• **Alice Smith** (`alice@mycompany.com`) - ID: 12345
125• **Bob Jones** (`bob@company.org`) - ID: 67890
126• **Carol White** (`carol@example.com`) - ID: 54321
127```
128
129## Get Help
130
131```
132> help
133```
134
135Shows all available commands and examples.
136
137## Pro Tips
138
1391. **Just type `register`** - In most cases, the bot will automatically find your real email from your profile!
1402. **Check if it worked** - Use `whoami` after registering to see which email was used
1413. **Manual override if needed** - If the auto-detection didn't work, use `register your-email@example.com`
1424. **Encourage your team to register** - The more people registered, the more useful the directory
1435. **Update your registration** - If your email changes, just register again with the new one
1446. **The bot stores both emails** - It knows your registered email AND your Zulip internal email
145
146## How Smart Detection Works
147
148The bot uses this priority order:
149
1501. **Custom email** (if you provide one): `register alice@company.com` - Highest priority
1512. **delivery_email** (from Zulip profile API): Your real email address associated with the account
1523. **user.email** (from Zulip profile API): Email from profile (if different from message sender)
1534. **Message sender email** (fallback): The internal `user@zulipchat.com` style email
154
155This means the bot will use the best available email automatically!
156
157### Why Multiple Sources?
158
159- **delivery_email**: The most reliable source for real email, but may be `null` depending on permissions
160- **user.email**: Another source from the API that may contain the real email depending on server configuration
161- **Message sender email**: Always available but often an auto-generated internal identifier
162
163The bot tries each in order until it finds a usable email address.
164
165## Admin Considerations
166
167- **No admin permissions needed** - Users can register themselves
168- **Server-side storage** - All data is stored using Zulip's bot storage API
169- **No custom profile fields required** - Works out of the box on any Zulip instance
170- **Privacy** - Only registered users appear in the directory (opt-in)