[Python] 디스코드 봇에 환율 확인 기능 추가
·
Study/Python
갑자기 환율을 체크할 일이 많아지다 보니 일일이 웹을 켜서 확인하는 것이 너무 귀찮았다. 그래프도 뭣도 필요없고 딱 금액만 나오면 되기 때문에 봇에 간단히 기능을 추가했다. 1. 환율 API 먼저 환율 데이터를 가져올 API가 필요했다. 개발자 등록하고 API 키 발급받고 하기 너무 귀찮았다. 그러던 중 아래의 환율 API를 발견했다. Free Currency Rates API GitHub - fawazahmed0/currency-api: Free Currency Exchange Rates API with 150+ Currencies & No Rate Limits Free Currency Exchange Rates API with 150+ Currencies & No Rate Limits - GitHub..
[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..
[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..