LostArk_discordBot_2.0은 기존 로스트아크 도움봇 https://github.com/ForteEscape/LostArk_discordBot 에서 discord.py가 2.0 버전업과 봇 내부 구조 개선의 목적으로 다시 만든 봇입니다.
-
discord가 슬래시 커맨드 (
/command
)를 사용하는 것을 권장하는 것에 맞추어 봇의 거의 모든 커맨드를 슬래시 커맨드로 전환하였습니다. -
잘 사용하지 않는 커맨드(
!내실 [지역이름], !군단장 [군단장 이름]
)등을 제거하였습니다.
-
/캐릭터정보 [캐릭터 이름]
- 캐릭터 이름을 입력받아 해당 캐릭터의 전투정보실 링크를 출력합니다. 존재하지 않는 캐릭터일 경우, 링크를 타도 정보가 나오지 않습니다.
-
/경매 [아이템 가격]
-
입력받은 아이템 가격에 대해 입찰하기 적절한 금액을 계산하여 출력합니다.
-
입찰 적정가는 입찰 시, 이득을 볼 수 있는 최대 적정가이고, 분배 입찰가는 해당 금액으로 입찰 시 8인 전원이 동일한 금액을 가져갈 수 있는 금액입니다.
-
입찰 적정가보다 낮게 입찰 시 낮게 입찰한 만큼 이득을 얻을 수 있습니다.
-
-
/각인 [각인 이름]
-
입력받은 각인 이름에 대한 설명을 출력합니다.
-
각인 이름은 줄임말로 해도 상관없습니다( ex)결투의 대가 - 결대, 정밀 단도 - 정단)
-
-
!파티 설정 [파티 설정 파일]
-
파티 설정 파일을 읽어 파티 구성을 prettytable을 통해 출력합니다.
-
또한 출발 30분 전 각 인원을 호출하는 기능도 가능합니다.
-
개인적인 용도를 위해 사용하므로 2개 이상의 서버에서 사용하기 힘들 수 있습니다.
-
-
/강화
,/무기선택
,/무기삭제
-
로스트아크 재련 시스템을 시뮬레이팅 하는 미니게임 입니다.
-
사용자는 무기와 방어구 중 하나를 택하고 강화할 수 있습니다. (현재 무기만 지원합니다.)
-
사용자의 강화 수치와 장인의 기운 수치는 저장됩니다.
-
무기를 선택하여 강화 기능을 사용할 수 있습니다. 무기선택에선 다음의 유형이 있습니다.
- 유물 무기 (발탄, 비아키스에서 얻는 1340 레벨 무기)
- 상위 유물 무기 ~ 고대 무기 (아브렐슈드에서 얻는 1390 레벨 무기)
- 상위 고대 무기 (일리아칸에서 얻는 1525레벨 무기)
-
만약 무기를 바꾸거나 25강을 달성하여 더 이상 강화 기능을 사용할 수 없는 경우, 무기삭제 기능을 이용하여 무기 데이터를 초기화 할 수 있습니다. 초기화한 이후에는 다시 무기선택을 통해 무기를 선택해야 합니다.
-
-
/강화기록
-
사용자의 강화 성공 내역을 알 수 있습니다.
-
강화를 성공한 데이터들의 사용 재화 목록을 알 수 있습니다.
-
LostArk_discordBot_2.0
├─Cogs - 디스코드 봇 명령어 모듈 디렉토리
│ └─Cog_modules(.py)
│
├─data - 봇이 사용하는 데이터
│ ├─engrave_data - 각인 이름 치환표 및 각인 설명
│ ├─logs - 봇 시스템 로그데이터
│ ├─notice_data
│ ├─party_data - 파티설정에 사용하는 데이터
│ ├─user_nickname
│ ├─refining_data - 재련 시뮬레이션 데이터
│ └─bot_data - 봇 세팅 데이터
│
├─Externals - 봇 명령어 처리 시 사용되는 모듈 디렉토리
│ └─External_modules(.py)
│
└─main.py - 봇 구동부
- 해당 봇은 Windows10, python-3.10.3의 Anaconda 가상환경을 사용하여 구현하였습니다.
- 해당 봇은 linux Ubuntu 18.04.06 LTS 환경의 GCP 플랫폼에서 서비스되고 있습니다.
- 해당 봇은 MySQL DB를 사용하고 있습니다.
- 사용 라이브러리
- discord.py - 2.0.1
- prettytable - 3.4.1
- pymysql - 1.0.2
- selenium - 4.4.3
- pandas - 1.4.4
- aiohttp - 3.8.1
- pytz - 2022.2.1