텔레그램의 소녀전선 봇 (telegram @girlsfrontline_krbot) 에 마인드맵 업그레이드 (속칭 개장) 관련 기능을 추가했습니다.
이번 소녀전선의 마인드맵 업그레이드는 1. 대부분의 인형은 업그레이드가 제공되지 않기 때문에 2. 마인드맵 자체의 코스트가 커서 시도하려는 사람이 많지 않기 때문에 기존의 기능에 정보를 추가하는 방식이 아니라 별도의 기능으로 추가할 필요성이 있었습니다.
또한 마인드맵 업그레이드에서 각 인형당 추가되는 정보가 너무 많기 때문에 이를 잘 처리할 방법이 필요했습니다. 1단계에서는 버프 효과와 기존 스킬 효과가 강화되고, 2단계에서는 새로운 스킬이 추가되며, 3단계에서는 전용 장비가 추가됩니다. 그리고 각 단계에서 능력치의 최대값이 변화하며 마인드맵 업그레이드의 한 단계 한 단계가 비용이 큰 작업이기 때문에 각 단계의 정보를 별도로 제공할 필요성이 있었습니다.
그렇기 때문에 이를 처리하기 위해서 Inline keyboard button과 Callback query를 사용했습니다. 이에 대한 Telegram API 정보는 다음 링크에서 확인해주세요: Inline button Callback query
사용 예는 아래 이미지와 같습니다.
버튼을 누르면 메세지가 수정됩니다. (버튼을 여러번 누를 여지를 없앱니다.)
API 문서에 따르면 callback query가 다소 취약한 것으로 보이는데, 어떤 방식으로 봇을 악용할 소지를 줄일 수 있을 지 더 살펴봐야 할 것 같습니다.