Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Starting a Telegram API instance

Hi! Telegram API beginner here! I'm developing a PhoneGap app that features a messaging service using the Telegram API.

I'm currently following the API guide and I'm now reading the getting started guide for authentication. However, I find that it is currently insufficient and not Jimmy Proof.

How does one create a Telegram API instance in one's own app? After initialization how does one authenticate a user? From the link provided, this can be done with the auth.sendCode method. But to what class does this method belong to?

like image 219
brain56 Avatar asked Apr 07 '14 05:04

brain56


1 Answers

Referencing some documentation in the Git Hub page...

To create a TelegramApi instance, one must first create a custom implementation of the org.telegram.api.engine.storage.AbsApiState class and implement the suitable methods. An instance of the custom class implementation will then be used as a parameter for the TelegramApi constructor method.

Example from the Git Hub page:

TelegramApi api = new TelegramApi(new MyApiStorage(), new AppInfo(/*... put application information here...*/), new ApiCallback()
{
  @Override
  public void onApiDies(TelegramApi api) {
    // When auth key or user authorization dies
  }
  @Override
  public void onUpdatesInvalidated(TelegramApi api) {
    // When api engine expects that update sequence might be broken  
  }
});

As for the auth.sendCode method, this method is actually an remote procedure call (RPC), and does not belong to any class in the library. These are methods invoked by the client to be executed by the Telegram server. See the Telegram FAQ regarding TL for more information.

like image 112
brain56 Avatar answered Nov 25 '22 16:11

brain56