rubenlagus / TelegramApi

Java library to create Telegram Clients
MIT License
296 stars 108 forks source link

How to get all contacts list of a current customer #87

Open coderbob2 opened 4 years ago

jornathanJ commented 3 years ago

After login with auth code.

You can do this as below.

TLRequestContactsGetContacts tlRequestContactsGetContacts = new TLRequestContactsGetContacts();
tlRequestContactsGetContacts.setHash("1L");  // <-- no meaning but you should set any value.
TLObject result =  kernel.getKernelComm().getApi().doRpcCall(tlRequestContactsGetContacts);
TLContacts tlContacts = (TLContacts)result;

A result contains id, userHash based on your telegram account. So you can send message as below.

User user = new User( {userId} );
user.setUserHash( {accessHash for user} );
kernel.getKernelComm().sendMessage(user, "Some message to here. ");

And you need to check, MessageHandler

private void handleMessageInternal(@NotNull IUser user, String message) throws RpcException {
      /* Comment this line, to prevent reply loop.
       kernelComm.sendMessage(user, message);
      */
      kernelComm.performMarkAsRead(user, 0);
      System.out.println(message);
}