Live Discord 봇 개발 중
라이브 업데이트
봇에서 작업하는 것은 새로운 기능을 구현하려고 시도하거나 많은 변경이 수반되는 새로운 명령으로 작업할 때 번거로울 수 있습니다. 일부 명령은 배포된 봇을 약간 미치게 만드는 기존 명령의 리팩터링일 수도 있습니다.
현재 실행 중인 내 봇에서 작업하는 가장 좋은 방법은 봇의 두 가지 개별 인스턴스를 실행하는 것입니다. 최신 Python 및 Git이 설치된 Raspberry Pi에서 실행 중인 라이브 봇이 있습니다(해결하기가 약간 어려웠습니다).
과거에는 다른 접두사를 사용하여 개발해야 할 때까지 봇에 대한 커밋 중에 주석 처리된 별도의 줄이 있었습니다. 이것은 한동안 효과가 있었지만 댓글을 계속 켜고 끄는 것이 약간 번거로웠습니다. 때로는 완전히 잊고 주석 처리되지 않은 줄을 라이브 코드로 밀어 넣습니다. 이로 인해
git --amend --no-edit
커밋이 필요했고 이는 또 다른 단계였습니다.힘내 수정
Git 버전 2.22부터
git branch --show-current
를 호출하면 체크아웃된 브랜치의 현재 이름이 출력됩니다. 몇 줄이면 해당 이름을 파일에 넣고 각 명령 중에 확인하여 사용할 접두사를 봇에 알릴 수 있습니다.내 사용을 위해 이것을 일반 Functions.py 파일에 배치하고 Client()를 호출할 때 함수를 가져옵니다.
import nextcord
import json
import os
client = nextcord.Client()
def getPrefix(client, message):
try:
os.system("git branch --show-current > ./references/git-current-branch")
with open("./reference/git-current-branch", "r") as currentBranch:
repo = currentBranch.read()
finally:
# If on development branch or
# If not main branch whichever is easier
if repo == "development\n":
return "." # Prefix to separate from live code
# Return the prefix for whichever server called the command
else:
with open('prefixes.json', 'r') as f:
prefixes = json.load(f)
return prefixes[str(message.guild.id)]
os.system
는 봇이 명령줄에 직접 명령을 전달하도록 하는 깔끔한 방법입니다. 이 경우 현재 git 분기 이름을 표시합니다.노트:
When using the '>' this will mean to overwrite the data in that file which is what we want.
Using '>>' instead will append to the existing file and cause a lot of clutter and won't be usable without the use of writing another function to trim it out.
이것은 중단 없이 라이브 봇의 개발을 지원하고 내가 너무 많이 했던 것처럼 잘못된 접두사를 보내는 것과 같은 오류를 방지하는 데 도움이 되는 또 다른 도구일 뿐입니다.
Reference
이 문제에 관하여(Live Discord 봇 개발 중), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/swislokdev/developing-a-live-discord-bot-59jm텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)