※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의
※ 직접 하면서 알게된 것을 모두 써서 사족이 많음
※ 리빙 포인트) 리팩토링은 염원이자 닿을 수 없는 미래다
인턴이 끝났다
채용 연계 인턴은 아니라서 되게 짧기는 했는데
그래도 배운 것도 많았고 돈도 받아서 기분이 좋다.
같이 일했던 분도 업무하시면서 (요약하자면)
'아 리팩토링 해야하는데'
라는 말씀을 많이 하셨다.
새 학기 시작 전이고, 그런김에 좀 배운 것을 바탕으로
모듈 단위로 좀 파일도 나누어서 코드 짜기에 더 좋게
리팩토링을 해보려고 한다.
글을 쓰는 것이 너무 어려웠다
사실 글을 쓰는 데에 너무 막히는 경우가 많았거나
한 번에 많은 것을 넣으려다가 글 하나 쓰는 데에 며칠이 걸려서
수정에 수정에 수정을 하다보니 피로해지는 것도 있긴 했다
그래서 하루에 조금만 진도가 나가더라도 그것만 정리해서
올려보려고 한다.
command aliases
command 를 사용하여 디스코드에 명령을 내릴 때는
이전 글을 읽어봤다면 다음과 같이 표시해야한다는 것을 알고 있을 것이다.
# 리팩토링하면서 구성한 코드의 일부이며, 정확한 구조를 알 필요는 없다.
# cordDice는 같은 폴더 상에 구현한 'cordDice.py'를 import한 것이다.
import cordDice
@bot.command()
async def 주사위(message, *vars):
value = cordDice.process(vars)
await message.channel.send(value)
이런 예시에서 주사위를 사용하고 싶을 때
'Dice' 'D' 'd' 등 여러 명령어로 주사위를 굴리고 싶을 수도 있다.
굳이 '주사위' 다 치기는 너무 귀찮으니까 말이다.
이럴 때 사용하는 것이 aliases다.
aliases 사용법
#cordDice.py 의 일부
aliases = ['d', 'dice', 'Dice', 'D']
다음과 같이 사용할 명령어를 가졌을 때
본래의 코드를 다음과 같이 수정하면 된다.
# 리팩토링하면서 구성한 코드의 일부이며, 정확한 구조를 알 필요는 없다.
# cordDice는 같은 폴더 상에 구현한 'cordDice.py'를 import한 것이다.
import cordDice
@bot.command(aliases=cordDice.aliases)
async def 주사위(message, *vars):
value = cordDice.process(vars)
await message.channel.send(value)
이러면 다른 명령어를 이용해도
같은 명령을 수행할 수 있다.
아래는 실행 예시이다.
728x90
'개발일지 > 디스코드 봇' 카테고리의 다른 글
디스코드 봇 개발 일지 2024-03-04 - load_extension, add_command (0) | 2024.03.04 |
---|---|
디스코드 봇 개발 일지 2024-03-03 - 구글 클라우드로 24시간 봇 돌리기 & 주사위 기능 리팩토링 & 이모티콘 사용 (6) | 2024.03.03 |
디스코드 봇 개발 일지 2024-01-19 - 로컬에서 LLM 돌려보기 대실패 (0) | 2024.01.19 |
디스코드 봇 개발 일지(아님) 2023-07-19 - 학습한 AI 모델한테 노래 부르게 하기 (0) | 2023.07.19 |
디스코드 봇 개발 일지 2023-07-12 - TTS 봇 - 갑자기 깨달음 (계획 변경) (0) | 2023.07.12 |