3. Available commands (admin only):
- - `/help` - Show help message
- - `/upsert <tsv_data>` - Upsert members from TSV data
- - `/list` - List all members
- - `/setadmin <member_id>` - Set a member as admin
- - `/removeadmin <member_id>` - Remove admin status from a member
- - `/verify <device_id>` - Verify a device for E2E encryption
+ - `!help` - Show help message
+ - `!upsert <tsv_data>` - Upsert members from TSV data
+ - `!list` - List all members
+ - `!setadmin <member_id>` - Set a member as admin
+ - `!removeadmin <member_id>` - Remove admin status from a member
+ - `!verify <device_id>` - Verify a device for E2E encryption
-### TSV Format for `/upsert`
+### TSV Format for `!upsert`
-The `/upsert` command accepts tab-separated values (TSV) in the format:
+The `!upsert` command accepts tab-separated values (TSV) in the format:
```
member_id email matrix_user (optional)
let message = text_content.body.trim();
// Check if message is a command
- if !message.starts_with('/') {
+ if !message.starts_with('!') {
return Ok(());
}
// Handle commands
match command {
- "/help" => {
+ "!help" => {
let help_text = r#"Available commands:
-/help - Show this help message
-/upsert <tsv_data> - Upsert members from TSV data
-/list - List all members
-/setadmin <member_id> - Set a member as admin
-/removeadmin <member_id> - Remove admin status from a member
-/verify <device_id> - Verify a device for E2E encryption
+!help - Show this help message
+!upsert <tsv_data> - Upsert members from TSV data
+!list - List all members
+!setadmin <member_id> - Set a member as admin
+!removeadmin <member_id> - Remove admin status from a member
+!verify <device_id> - Verify a device for E2E encryption
"#;
if let Err(e) = send_reply(&room, help_text).await {
error!("Failed to send help reply: {}", e);
}
}
- "/upsert" => {
+ "!upsert" => {
handle_upsert_command(&room, args, &sender, db).await?;
}
- "/list" => {
+ "!list" => {
handle_list_command(&room, &sender, db).await?;
}
- "/setadmin" => {
+ "!setadmin" => {
handle_setadmin_command(&room, args, &sender, db, true).await?;
}
- "/removeadmin" => {
+ "!removeadmin" => {
handle_setadmin_command(&room, args, &sender, db, false).await?;
}
- "/verify" => {
+ "!verify" => {
handle_verify_command(&room, args, &sender, db).await?;
}
_ => {
- let reply = format!("Unknown command: {}. Type /help for available commands.", command);
+ let reply = format!("Unknown command: {}. Type !help for available commands.", command);
if let Err(e) = send_reply(&room, &reply).await {
error!("Failed to send unknown command reply: {}", e);
}
}
}
}
-}
\ No newline at end of file
+}