본문 바로가기
Develop/Android

[Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 6 (메시지보내기)

by 알려 2022. 3. 12.
728x90
반응형

Telegram API 사용하기 6번째 채팅방에 메시지 보내는 방법을 알아보겠다.

※Telegram API가 아닌 TDLib(Telegram Database Library)를 이용한 포스팅입니다. 
혼선을 드린 점 양해 부탁드립니다.

이전 포스팅은 하기 링크에서 각각 확인 가능하다.

2022.03.05 - [Develop/Android] - [Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 1

2022.03.05 - [Develop/Android] - [Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 2

2022.03.06 - [Develop/Android] - [Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 3 (인증상태 확인)

2022.03.08 - [Develop/Android] - [Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 4 (전화번호 인증)

2022.03.10 - [Develop/Android] - [Telegram] 안드로이드 텔레그램 API 사용하기(TDLib) - 5 (채팅리스트)

 

이전 포스팅에서는 채팅 리스트를 가져오는 부분까지 진행하였다.

일반 메시지를  보내는 코드는 간단하다. 잘 모르거나 헷갈리는 매개변수는 null / 0/ false/ 기본 생성자를 넣고 SendMessage의 6번째 매개변수인 InputMessageText만 잘 입력해 주면 된다.

client.send(TdApi.SendMessage(chatRoomId, 0, 0,
    TdApi.MessageSendOptions(), null, 
    	TdApi.InputMessageText(TdApi.FormattedText("메시지",null), false, false))
) {}

FormattedText 2번째 매개변수에 TextEntity를 이용하면 text bold, underline , italic, url 타입 등등 여러 가지 속성으로 메시지를 보낼 수 있다. 원하는 속성을 배열을 통해 여러 가지를 넣을 수 있으며 텍스트의 시작 인덱스와 길이를 이용하고 부분 부분 정의할 수 있다.

 

적당히 예제를 만들어 보자면 하기와 같이 작성할 수 있고 실제 메시지를 보내면 Italic속성을 넣었으니 Italic체로 메시지가 전송 되게 된다.

val chatRoomId : Long = 100000
val text = "동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리 나라만세"
val entities : Array<TdApi.TextEntity> = arrayOf(TdApi.TextEntity(0, text.length, TdApi.TextEntityTypeItalic()))
client.send(TdApi.SendMessage(chatRoomId, 0, 0,
    TdApi.MessageSendOptions(), null, TdApi.InputMessageText(TdApi.FormattedText(text,entities), false, false))
) {}

 

 

728x90
반응형

댓글