사진이 안보이신다면 https://blog.naver.com/turnbf/221373724471 에서 봐주세요.
오늘은 명령어를 추가하는 게 아닌 오류를 고쳤다.
고치기 전에는
!들어와 또는! 나가를 반복적으로 계속 입력하면 봇이 안 나가거나 아예 고장이나 버리는데
이 부분을 if 문으로 조건을 부여해서 오류 처리가 안 나게끔 코드를 적었다.
오류를 고친 실행 화면 모습
if message.content.startswith("!들어와"):
channel = message.author.voice.voice_channel
server = message.server
voice_client = client.voice_client_in(server)
print("들어와")
print(voice_client)
print("들어와")
if voice_client== None:
await client.send_message(message.channel, '들어왔습니다')
await client.join_voice_channel(channel)
else:
await client.send_message(message.channel, '봇이 이미 들어와있습니다.')
!들어와 명령어 코드이다.
if message.content.startswith("!나가"):
server = message.server
voice_client = client.voice_client_in(server)
print("나가")
print(voice_client)
print("나가")
if voice_client == None:
await client.send_message(message.channel,'봇이 음성채널에 접속하지 않았습니다.') # 원래나가있었음 바보녀석 니녀석의 죄는 "어리석음" 이라는 .것.이.다.
pass
else:
await client.send_message(message.channel, '나갑니다') # 나가드림
await voice_client.disconnect()
!나가 명령어 코드이다.
보이스 클라이언트가 음성 채널에 접속 중이 아니라면 NULL 값을 가진 것을
print를 통해 알게 되었다 그것을 이용해서
!들어와를 하였을 때는 NULL 값을 가진다면 음성 채널에 들어오고 아니라면 들어오지 않는다.
!나가를 하였을 때는 NULL 값을 가진다면 음성 채널에 접속하지 않았다고 메시지를 보내고
아니라면 현재 있는 음성 채널에서 나간다.
내일은 유튜브 검색 기능을 만들어볼 것이다.
봇 소스파일입니다.
'디스코드 봇 개발일지' 카테고리의 다른 글
디스코드 자작봇 개발일지#7 (0) | 2018.10.30 |
---|---|
디스코드 자작봇 개발일지#6 (0) | 2018.10.30 |
디스코드 자작봇 개발일지#4 (0) | 2018.10.29 |
디스코드 자작봇 개발일지#3 (0) | 2018.10.29 |
디스코드 자작봇 개발일지#2 (0) | 2018.10.29 |