pub struct Client { /* private fields */ }Implementations§
Source§impl Client
impl Client
Sourcepub fn connect(
dc_addr: &str,
api_id: i32,
api_hash: &str,
) -> Result<Self, Error>
pub fn connect( dc_addr: &str, api_id: i32, api_hash: &str, ) -> Result<Self, Error>
Connect fresh: DH + invokeWithLayer(initConnection(GetConfig)).
initConnection wraps GetConfig exactly like grammers’ SenderPoolRunner::connect_sender.
The Config response populates our DC address table for future migrations.
Sourcepub fn load_or_connect(
session_path: impl AsRef<Path>,
api_id: i32,
api_hash: &str,
) -> Result<Self, Error>
pub fn load_or_connect( session_path: impl AsRef<Path>, api_id: i32, api_hash: &str, ) -> Result<Self, Error>
Load saved session or connect fresh.
On a saved session, reuses the auth key — mirrors grammers connect_with_auth.
On no session file, defaults to DC2 (same as Telegram’s recommended bootstrap DC).
Sourcepub fn save_session(&self, path: impl AsRef<Path>) -> Result<(), Error>
pub fn save_session(&self, path: impl AsRef<Path>) -> Result<(), Error>
Persist auth key + DC table. Call after successful sign-in.
Returns true if already logged in.
Probes with updates.getState — same as grammers.
Sourcepub fn request_login_code(&mut self, phone: &str) -> Result<LoginToken, Error>
pub fn request_login_code(&mut self, phone: &str) -> Result<LoginToken, Error>
Send login code. Handles PHONE_MIGRATE_X like grammers:
disconnect, reconnect to correct DC, retry.
Sourcepub fn sign_in(
&mut self,
token: &LoginToken,
code: &str,
) -> Result<String, SignInError>
pub fn sign_in( &mut self, token: &LoginToken, code: &str, ) -> Result<String, SignInError>
Complete sign-in with the received code.
Returns the display name on success.
Returns Err(SignInError::PasswordRequired(token)) if 2FA is enabled —
pass the token to [check_password].
Handles USER_MIGRATE_X exactly like grammers.
Sourcepub fn check_password(
&mut self,
password_token: PasswordToken,
password: impl AsRef<[u8]>,
) -> Result<String, Error>
pub fn check_password( &mut self, password_token: PasswordToken, password: impl AsRef<[u8]>, ) -> Result<String, Error>
Complete 2FA login with the user’s password.
password_token comes from Err(SignInError::PasswordRequired(token)).
Mirrors grammers check_password.