━━━━ ◇ ━━━━
TWITTER-BOT

트위터 자동봇 - 커뮤니티 SET TIME OUT 전체 시스템 구현

영화 <인타임>기반 배틀로얄 자캐 커뮤니티 SET TIME OUT(@setTimeOut2020)의 전체 시스템 구현을 담당하였습니다.

커뮤니티의 모든 시스템은 구글 스프레드시트 연동 트위터 자동봇으로 진행됩니다.

 

 

연동중인 구글 스프레드시트는 커뮤니티의 진행에 따라 수동으로 조작이 가능하며(체력 혹은 소유 아이템 등...) 이는 실시간으로 트위터 자동봇에 반영됩니다.

여기서의 모든 응답 계정의 DM 및 멘션은 자동 스크립트입니다.

 


 

1. 맵 배치 및 이동

필수 참여 시간 전, 캐릭터는 랜덤으로 아래의 맵의 칸 중 한 곳에 위치하게 됩니다. 

 

실제 캐릭터들이 움직일 맵

 

 

 

 

스토리 진행 계정(혹은 총괄 계정)이 [시작 위치 고지] 및 [게임 개시]를 자동봇에게 선언하면 자동봇은 자동으로 해당 캐릭터들에게 랜덤으로 위치를 배정하여 DM으로 정보를 전송합니다.

 

 

양식: [시작 위치 고지] @다이스봇

 

 

 

실제 캐릭터들이 배치된 후 자동으로 자동봇이 전송하는 DM

 

 

 

이때 자동봇이 출력하는 대사는 구글 스프레드시트에 기입할 수 있으며, 위치 내에 준비된 재화(시간) 혹은 아이템을 실시간으로 입력할 수 있습니다. 

 

 

 

 

 

 

이후 캐릭터가 [이동] 선언을 할 경우 캐릭터가 이동하며, 이때 캐릭터의 이동시간과 위치는 구글 스프레드시트와 연동됩니다.

 

 

이동기록은 유닉스 시간으로 기록되며, 초단위로 환산됩니다.

 

 

 

 

 

캐릭터는 [인원 확인] 선언을 통해 자신과 같은 위치에 있는 캐릭터를 확인할 수 있습니다. 

 

캐릭터는 [시간 조사] 선언을 통해 자신이 위치한 맵의 재화/아이템의 일부를 확률적으로 획득할 수 있습니다. 

 

 

 


 

 

 

2. 캐릭터 전투

 

같은 장소에 위치한 캐릭터는 전투 진행이 가능합니다. 이때 사용하는 키워드는 [공격] [방어] [반격] [도주] [추격]입니다.

 

 

 

 

 

이때, 캐릭터들은 자신이 소유하고 있는 아이템을 사용할 수 있습니다. 키워드는 [명령어/사용할 아이템]입니다.

 

 

 

 

 

 

 

 

사용하는 아이템은 구글 스프레드 시트 내에 기입되어 있는 데이터의 값이 반영됩니다. 

 

 

 

 

 

 

 

 

전투 진행중인 캐릭터의 체력(시간)은 구글 스프레드시트와 실시간으로 연동됩니다. 

 

 

체력 = 시간

 

 

 

 

 

이때 전투에 불리해진 캐릭터는 [도주] 시도가 가능합니다. 

 

 

 

 

 

 

 

[도주]에 성공한 캐릭터는 위치하고 있던 장소에서 2칸 거리의 랜덤한 곳으로 이동합니다. 

 

 

 

 

 

 

 

 

이때 전투 진행중이었던 상대 캐릭터는 도주한 캐릭터를 [추격]하는 것이 가능합니다. 

 

 

 

 

 

 

 

추격에 성공할 경우, 캐릭터는 추격한 캐릭터의 위치로 이동합니다. 

 

 

 

 

 


 

 

 

3. 동맹

캐릭터는 합의하에 동맹을 맺을 수 있습니다. 

 

 

 

 

 

 

 

 

이때 모든 동맹 관계의 경우 구글 스프레드 시트와 연동되어 기록됩니다.

 

 

1일 1회 동맹 요청이 가능합니다.

 

 

 

동맹 파기 혹은 거절 또한 선언을 통해 가능합니다. 

 


동맹 요청: [동맹 요청] @상대방 계정
동맹 수락: [동맹 수락]

동맹 거절: [동맹 거절]

동맹 파기: [동맹 파기]

 

 

 

 


 

 

 

4. 기타

 

캐릭터의 잔여체력(시간)이 일정 이하로 떨어질 경우, 자동으로 경고 디엠을 전송합니다. 

 

 

COMMENT