fix: BotFather stores rec: AliasRecord so resolve_alias finds bot aliases

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Siavash Sameni
2026-03-29 12:21:45 +04:00
parent 4118be7ef3
commit b0fa9f92bd

View File

@@ -124,15 +124,17 @@ async fn handle_newbot(state: &AppState, owner_fp: &str, text: &str) -> String {
let fp_key = format!("bot_fp:{}", fp);
let _ = state.db.tokens.insert(fp_key.as_bytes(), token.as_bytes());
// Register alias
let _ = state
.db
.aliases
.insert(alias_key.as_bytes(), fp.as_bytes());
let _ = state
.db
.aliases
.insert(format!("fp:{}", fp).as_bytes(), name_lower.as_bytes());
// Register alias (all 3 keys needed for resolve_alias to work)
let _ = state.db.aliases.insert(alias_key.as_bytes(), fp.as_bytes());
let _ = state.db.aliases.insert(format!("fp:{}", fp).as_bytes(), name_lower.as_bytes());
let alias_record = serde_json::json!({
"alias": name_lower,
"fingerprint": fp,
"recovery_key": "",
"registered_at": chrono::Utc::now().timestamp(),
"last_active": chrono::Utc::now().timestamp(),
});
let _ = state.db.aliases.insert(format!("rec:{}", name_lower).as_bytes(), serde_json::to_vec(&alias_record).unwrap_or_default());
tracing::info!(
"BotFather: created bot @{} for owner {}",