[Python] 봇의 명령어 실행 결과를 csv 형식으로 저장하기
·
Study/Python
개발했던 봇의 줄 서는 기능을 보완하는 느낌으로 결과를 DB처럼 저장하면 괜찮겠다는 생각이 떠올랐다. 그렇다고 해서 DB까지 갈 필요까진 없는 일이라서 csv 형식으로 결과를 저장하고자 했다. Pandas 파이썬에서 기본으로 제공하는 csv 도구를 이용해도 되지만, Pandas가 정말 많이 쓰인다고 해서 이걸 사용하기로 했다. 나에게 필요한 기능은 다음과 같다. csv 파일을 읽는다. 없으면 템플릿대로 생성 줄의 결과가 나온다. 템플릿에 맞게 데이터프레임에 추가. csv에 데이터프레임 저장 난 읽기/쓰기의 기능만을 수행할 클래스인 pdCsv를 만들었다. def load_csv(guild_id): pdCsv.addr = f'./results/{guild_id}.csv' if(not os.path.exist..
『ぼっち・ざ・とーく!-LIVE-』를 보고
·
Thoughts
2022년 4분기 애니메이션 『ぼっち・ざ・ろっく!』를 정말 인상 깊게 봤다. 머리털 나고 본 애니메이션 중에서 최고를 꼽으라면 세 손가락 안에 꼽을 수 있을 정도로 임팩트가 있는 작품이었다. 작화가 매우 뛰어난 작품은 아니지만 감독의 능력이 느껴지는 인상적인 연출과 서사 전개, 버릴 데 없는 뛰어난 삽입곡들은 나뿐만 아니라 애니메이션을 보는 모두에게 엄청한 임팩트를 줬음은 틀림이 없다. 그런 와중 1월 16일에 유튜브는 어떤 영상을 추천해 줬는데, 그것이 『ぼっち・ざ・と ー く!-LIVE-』가 되겠다. 주인공 4인방의 성우들이 나와 화수를 돌아보며 이야기하는 시간을 가지는 라이브의 녹화본이었다. 평소라면 거들떠도 보지 않을 성우 관련 영상이었지만 "봇치니까" 클릭해 보았고, 난 이 영상을 통해 나의 어린..
[Python] CLOUDTYPE으로 디스코드 봇 배포
·
Study/Python
봇들 다 만들긴 했는데, 그냥 시험용 프로젝트가 아니라 실제로 사용할 봇인 만큼, 꺼뒀다가 사용할 때마다 켤 순 없으니 어딘가 올려서 24/7 온라인 상태로 유지해야 했다. pythonanywhere의 경우, 무료 플랜은 프록시 연결을 사용하기 때문에 디스코드 서버에 연결할 수 없었다. 갖고 있는 라즈베리 파이에 우분투 서버를 올려서 유지를 할까 생각도 했지만, 뭔가 내키지 않았다. 그러다 발견한 곳이 클라우드타입이다. 국내 기업이 서비스 하는 곳이기도 하고 별도 요금이 없고 간단하게 배포가 가능해서 선택했다. 파이썬을 3.11까지 자유롭게 선택할 수 있는 점도 메리트. 사실 처음부터 클라우드타입을 선택한 것은 아니었다. 이전 글을 보면 알겠지만 원래 C#으로 만든 파파고 번역 라이브러리를 올려 사용하는..
[C#, Python] C# 라이브러리를 이용한 discord.py 봇 개발 (2/2)
·
Study/C++ & C#
1번 글에서 예고한 대로 이번 글에서는 앞서 만든 라이브러리와 discord.py를 활용한 봇을 개발에 관한 내용을 기술한다. 파이썬에 C# 라이브러리를 올리기 위해 pythonnet - Python.NET을 사용했다. VS2022로 라이브러리를 테스트하던 중, 자꾸 에러가 나서 닷넷 버전 문제인 것 같아 VS2019에서 4.8 환경에서 빌드 후 테스트 하니 잘 동작했다. 혹시 이 글을 본 사람 중 이런 시도를 할 사람이 있다면 닷넷 4.* 버전을 사용하길 바란다... dll 임포트는 아래와 같은 코드로 할 수 있다. import clr clr.AddReference("kord") from kord import Translator trns = Translator(TR_Cliend_Id, TR_Cliend..
[C#, Python] C# 라이브러리를 이용한 discord.py 봇 개발 (1/2)
·
Study/C++ & C#
예전에 만들었던 한>중>한 번역기를 개선하기로 했다. 하는 김에 디스코드 봇도 개발하기로 결정했다. 사실 예전에 discord.js로 개발하다 도저히 내 맘대로 되지 않아서 방치해 두었기에 그런 실패도 극복해보고 싶었다. 단순히 discord.py를 이용해 봇을 개발한다면 전부 다 파이썬으로 개발해도 된다. 그런데 왠지 C# 으로 만들어놓은 것을 다시 파이썬으로 옮기기 귀찮았고 파이썬 상에서 dll을 활용하는 방법이 공부가 되지 않을까... 생각했다. 이번엔 글을 2 파트로 나눴고, 1에서는 라이브러리 개선사항을, 2에서는 봇 관련 내용으로 채울 예정이다. 기존에 쓰던 바이두 번역 API를 사용할 수 없게 되어서 파파고 API로 교체했다. 사용하기는 확실히 이쪽이 편한 듯. 교체하면서 코드 구조도 살짝 ..
MMO에서의 게임 모딩을 배척해야 하는가?
·
Thoughts
지난 1월 10일 화요일, FFXIV의 6.3 패치가 있었다. 이번 패치에서 내가 가장 주목한 부분은 파티 리스트에 표시되는 버프/디버프의 잔여 시간 표시 기능의 추가였다. 이 기능은 서비스 초기인 A Realm Reborn 시절부터 요구가 있어왔던 기능인데 버전이 6.3이 되어서야 겨우 추가되었다. 인벤토리를 열면 현재 캐릭터가 보유 중인 길을 표시해 주는 기능도 이번에 추가되었다. 이걸 보고서 난 괘씸하다는 생각부터 들었다. 충분히 할 수 있음에도, 요청이 있음에도 불구하고 고의적으로 무시해 왔다는 느낌을 받았기 때문이다. 왜 6.3 패치에 이 기능들이 추가가 되었는지, FFXIV의 레이드에 관심이 많은 사람이라면 배경을 바로 짐작할 수 있을 것이다. 지난 6.11 패치에 글로벌 서버에 「절 용시전쟁..
계속 강해지는 중국 서브컬쳐계 게임의 영향력
·
Thoughts
오늘 잠에서 깨서 친구 단톡방을 확인해 보니 원신의 새로운 캐릭터의 컨셉아트가 유출됐다고 하더라. 그 이미지를 보니 오만 생각이 다 들었다. 이전부터 미호요는 정말 서브컬쳐가 좋은 사람들이 모여 구성된 회사로, 흔히 말하는 '오타쿠' 들의 니즈를 정확히 관통하는 작품들을 만들어 왔다. 그들이 개발한 원신 또한 뛰어난 캐릭터 디자인으로 많은 호평을 받은 작품이었는데, 유독 이번 디자인에 충격을 받은 것은 어떤 연유일까? 이런 디자인이 내 취향에 맞는 것도 있지만... 원신의 캐릭터 디자인의 뛰어남이 지속적으로 우상향 하는 상태를 나타내기 때문이 아니었을까. 호불호가 별로 갈리지 않는 이쁜 디자인으로 잘 나왔다고 생각한다. 출시 첫날에 각청, 모나 단 둘을 들고 시작했던 것이 기억이 난다. 나름 기대도 되는..
[C#] WPF로 만들어 본 한>중>한 번역기
·
Study/C++ & C#
뭔가 새로 만들어 볼 것을 찾다가 문득 떠올랐다. 콜옵 같은 게임을 하다보면 바이두 번역기로 한국어로 번역해서 잡소리를 하는 중화대협들을 많이 볼 수 있다. 내가 한장 플레이하던 때는 바이두 번역기의 중>한 번역의 성능이 그리 좋지 못했기 때문에, 저 이미지처럼 띄어쓰기가 제대로 안되는 문제가 있었고 그게 재밌는 점이었다. 그런 생각이 들어서 "저걸 웹에 가서 수작업 하긴 귀찮으니 원버튼으로 만들어야지." 하고 만들기로 했다. 처음엔 웹 번역기에 사용되는 요청들을 모방하려고 했는데 뭔가 이상하게 잘 안됐다. 파파고는 잘 됐는데.... 그래서 그냥 바이두에서 제공하는 API를 이용하기로 했다. 예전에 쓸 일이 있어서 만들어 둔 아이디가 있었기 때문에 그 아이디를 사용해서 개발자로 등록했...으면 좋았을텐데..
잘 만들었기에 더 아쉬운 작품, World War 3
·
Thoughts
18년도인가 19년도인가, 언젠가 유튜브에서 World War 3라는 Battlefield Like의 게임의 플레이 영상을 봤다. 18년도 말은 「Battlefield 1」이 한창 서비스 중이었고 「Battlefield V」가 출시되어 한창 PC 타령으로 인해 욕을 먹던 시기였다. 아무리 욕 먹어도 배틀필드는 배틀필드, WW3는 이에 비해 한참 부족해 보였으나 한창 개발이 진행중인 상태였을 것이다. 더 진행돼도 배틀필드의 아성을 무너뜨리기엔 한참 부족하다고 생각했기에 크게 관심이 생기진 않았다. 그렇게 잊고 살다가 올해 9월 경, 드디어 클로즈 베타를 마치고 오픈 베타를 가장한 정식 출시를 하게 된다. 옆동네 타르코프처럼 돈을 받았으면 아마 안했을 것이다. 친구들도 한다고 하고 F2P니까 한번 손을 대 ..
[2042] S레벨, BSV M Tier 1 달성
·
Play/Battlefield
2042를 첫 출시부터 해왔는데 중간에 개발자들의 미온적 태도와 헬기(...)에 화가 나 접고 잊고 살았었다. 그러다 어쩌다 계기가 생겨 다시 하는데 재밌더라. 친구랑 같이 해서 그런가? 같이 하면 뭐가 재미 없을까. 접기 전 2042의 최강의 무기였던 BSV M(AS VAL)을 다시 써보는데 너프를 엄청 쎄게 먹었던 것 같다. 내가 기억하는 그 느낌이 아니었다. 예전의 그 느낌을 지우고 지금의 느낌을 손에 익혀야 하는데 T1을 딸 때 까지 안되더라. 중거리에서 가장 강력한 만큼 거리감을 유지하기 위해 노력했다. 다시 메인으로 쓰고 싶은 마음은 없다... 이걸로 일단 프로필에 T1 딱지 3개는 다 채웠으니 이제 하고싶은거 하면서 편하게 플레이 하고 싶다. 다시 2042를 시작하게 된 계기인 World W..