Skip to content

ForteEscape/LostArk_discordBot_2.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LostArk_discordBot_2.0

1. LostArk_discordBot_2.0 에 대해서

LostArk_discordBot_2.0은 기존 로스트아크 도움봇 https://github.com/ForteEscape/LostArk_discordBot 에서 discord.py가 2.0 버전업과 봇 내부 구조 개선의 목적으로 다시 만든 봇입니다.

2. 변경점

  • discord가 슬래시 커맨드 (/command)를 사용하는 것을 권장하는 것에 맞추어   봇의 거의 모든 커맨드를 슬래시 커맨드로 전환하였습니다.

  • 잘 사용하지 않는 커맨드(!내실 [지역이름], !군단장 [군단장 이름])등을 제거하였습니다.

3. 현재 지원하는 명령어

  1. /캐릭터정보 [캐릭터 이름]

    • 캐릭터 이름을 입력받아 해당 캐릭터의 전투정보실 링크를 출력합니다. 존재하지 않는 캐릭터일 경우, 링크를 타도 정보가 나오지 않습니다.
  2. /경매 [아이템 가격]

    • 입력받은 아이템 가격에 대해 입찰하기 적절한 금액을 계산하여 출력합니다.

    • 입찰 적정가는 입찰 시, 이득을 볼 수 있는 최대 적정가이고, 분배 입찰가는 해당 금액으로 입찰 시 8인 전원이 동일한 금액을 가져갈 수 있는 금액입니다.

    • 입찰 적정가보다 낮게 입찰 시 낮게 입찰한 만큼 이득을 얻을 수 있습니다.

  3. /각인 [각인 이름]

    • 입력받은 각인 이름에 대한 설명을 출력합니다.

    • 각인 이름은 줄임말로 해도 상관없습니다( ex)결투의 대가 - 결대, 정밀 단도 - 정단)

  4. !파티 설정 [파티 설정 파일]

    • 파티 설정 파일을 읽어 파티 구성을 prettytable을 통해 출력합니다.

    • 또한 출발 30분 전 각 인원을 호출하는 기능도 가능합니다.

    • 개인적인 용도를 위해 사용하므로 2개 이상의 서버에서 사용하기 힘들 수 있습니다.

  5. /강화, /무기선택, /무기삭제

    • 로스트아크 재련 시스템을 시뮬레이팅 하는 미니게임 입니다.

    • 사용자는 무기와 방어구 중 하나를 택하고 강화할 수 있습니다. (현재 무기만 지원합니다.)

    • 사용자의 강화 수치와 장인의 기운 수치는 저장됩니다.

    • 무기를 선택하여 강화 기능을 사용할 수 있습니다. 무기선택에선 다음의 유형이 있습니다.

      1. 유물 무기 (발탄, 비아키스에서 얻는 1340 레벨 무기)
      2. 상위 유물 무기 ~ 고대 무기 (아브렐슈드에서 얻는 1390 레벨 무기)
      3. 상위 고대 무기 (일리아칸에서 얻는 1525레벨 무기)
    • 만약 무기를 바꾸거나 25강을 달성하여 더 이상 강화 기능을 사용할 수 없는 경우, 무기삭제 기능을 이용하여 무기 데이터를 초기화 할 수 있습니다. 초기화한 이후에는 다시 무기선택을 통해 무기를 선택해야 합니다.

  6. /강화기록

    • 사용자의 강화 성공 내역을 알 수 있습니다.

    • 강화를 성공한 데이터들의 사용 재화 목록을 알 수 있습니다.

4. 봇 구조

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                        - 봇 구동부

5. 사용 라이브러리 및 환경

  • 해당 봇은 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

About

LostArk_discordBot with python discord 2.0 module

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages