스택큐힙리스트

텔레그램 봇: 아이디로 사용자를 언급하는 방법 (사용자명이 아닌) 본문

카테고리 없음

텔레그램 봇: 아이디로 사용자를 언급하는 방법 (사용자명이 아닌)

스택큐힙리스트 2023. 12. 27. 08:52
반응형

저는 텔레그램 봇을 만들고 메시지를 보내기 위해 sendMessage 메서드를 사용하고 있습니다.
@username을 사용하여 사용자를 언급하는 것은 쉽지만, 사용자가 유저명이 없는 경우 어떻게 언급할 수 있을까요?


Telegram 앱/웹을 사용하는 경우 @integer_id (name)로 사용자를 언급할 수 있으며, Telegram 앱/웹은 이를 클릭 가능한 텍스트로 변환합니다. integer_id는 사용자를 선택한 후 @를 입력하면 자동으로 생성됩니다.


다른 배경:


forceReply를 사용하려고 하고 있으며, 유저를 대상으로 하고 싶습니다. 유저명이 있는 경우 sendMessage 메서드에서 텍스트에서 언급함으로써 쉽게 대상을 지정할 수 있습니다.


제가 만드는 봇은 퀴즈 형태의 봇입니다. 각 플레이어는 차례대로 질문을 받으며, 봇은 각 플레이어에게 메시지를 보내어 다른 플레이어를 대상으로합니다.

참고: 저는 개인 정보 보호 모드를 비활성화하지 않았습니다. 텔레그램이 필요하지 않은 메시지로 서버를 폭탄으로 공격하는 것은 원하지 않습니다. 이렇게 하면 싼 값에 싼 서버가 과부하됩니다. 그래서 비활성화하는 것은 선택지가 아닙니다.


다른 해결책을 찾고 있으니 조언을 부탁드립니다. 봇이 선택한 플레이어를 들을 수 있는 방법에 대해 알고 싶습니다.


감사합니다.


업데이트 21/10:
텔레그램의 BotSupport에 문의했더니, 현재는 사용자명 없이 사용자를 언급할 수 없다고 말했습니다.


따라서 제 경우에는 여전히 forceReply를 사용하고, 사용자명 없는 사용자에게 설정하는 간단한 메시지도 제공하여 forceReply 기능의 이점을 얻을 수 있도록 하겠습니다.

답변 1

공식 문서에 따르면, 마크업을 사용하여 수치적인 ID를 가진 사용자를 언급하는 것이 가능합니다:


[인라인 사용자 멘션](tg://user?id=123456789)

답변 2

Telegram은 사용자가 ID를 사용해 다른 사용자를 언급할 수 있는 기능을 제공합니다. 일반적으로 사용자를 언급할 때는 사용자의 username을 사용하는 것이 일반적이지만, username이 없거나 사용할 수 없는 경우 사용자의 ID를 사용할 수 있습니다. 이 글에서는 Telegram 봇이 어떻게 사용자의 ID를 이용하여 사용자를 언급하는지에 대해 알아보겠습니다.
Telegram은 사용자와 관련된 작업을 수행하기 위해 사용자의 ID를 사용합니다. 사용자의 ID는 고유하며, 사용자가 Telegram에 가입할 때 자동으로 생성됩니다. 사용자의 ID를 얻으려면 봇은 먼저 메시지를 받아서 해당 메시지의 속성 중 하나인 `from` 속성을 확인해야 합니다. `from` 속성은 메시지를 보낸 사용자에 대한 정보를 담고 있으며, 해당 사용자의 ID는 `from.id`를 통해 얻을 수 있습니다.
봇이 특정 사용자를 언급하려면, 메시지를 보낸 사용자의 ID를 사용하여 `@` 기호와 함께 언급하고자 하는 사용자의 ID 값을 붙여주면 됩니다. 예를 들어, 봇이 사용자의 ID가 123456789인 사용자를 언급하려면, 메시지의 텍스트에 `@123456789`를 포함시키면 됩니다. Telegram은 이 ID를 사용하여 사용자에게 알림을 보내거나 해당 사용자를 참조할 수 있습니다.
사용자의 ID를 이용하여 사용자를 언급하는 방법은 특정 사용자와의 상호작용을 필요로 하는 봇에서 유용합니다. 사용자의 ID를 사용하면 username이 없는 사용자, 혹은 username을 알 수 없는 사용자에게도 메시지를 전송하거나 봇과의 상호작용을 할 수 있습니다. 또한, ID는 사용자마다 고유하므로 이름이나 사용자명이 변경되더라도 사용자를 식별할 수 있습니다.
이렇게 Telegram 봇은 사용자의 ID를 이용하여 사용자를 언급할 수 있습니다. 사용자의 ID를 이용하면 사용자와 상호작용하고 원하는 작업을 수행하는 데 유용한 기능을 제공할 수 있습니다. 반면, 사용자의 username이 있는 경우에는 보다 편리한 언급 방법으로 사용될 수 있습니다. ID와 username을 적절하게 활용하여 Telegram 봇이 다양한 작업을 수행할 수 있도록 설계하는 것이 중요합니다.

반응형
Comments