본문 바로가기

디스코드 봇 개발일지

디스코드 자작봇 개발일지#16

제비뽑기

오늘은 제비뽑기를 만들었습니다.

!제비뽑기 뽑을숫자 를 입력하면 중복되는 숫자 없이 메시지를 보내줍니다.

random 을 임포트하였습니다.

먼저 실행영상입니다.



아래는 전체 코드입니다.




if message.content.startswith('!제비뽑기'):
channel = message.channel
embed = discord.Embed(
title='제비뽑기',
description='각 번호별로 번호를 지정합니다.',
colour=discord.Colour.blue()
)

embed.set_footer(text='끗')


Text = ""
learn = message.content.split(" ")
vrsize = len(learn) # 배열크기
vrsize = int(vrsize)
for i in range(1, vrsize): # 띄어쓰기 한 텍스트들 인식함
Text = Text + " " + learn[i]
print(Text.strip()) #입력한 명령어

number = int(Text)

List = []
num = random.randrange(0, number)
for i in range(number):
while num in List: # 중복일때만
num = random.randrange(0, number) # 다시 랜덤수 생성

List.append(num) # 중복 아닐때만 리스트에 추가
embed.add_field(name=str(i) + '번째', value=str(num), inline=True)

print(List)
await client.send_message(channel, embed=embed)




코드상단에 import random 꼭 써주세요!

순서를 살펴보면

먼저 배열을 선언하고

반복문을 만들어 만약 중복된 숫자가 있다면 중복되지 않을 때 까지 반복하며 랜덤수를 바꿉니다.

난수관련 코드를 작성할 때 참고한 블로그 입니다.

https://yeolco.tistory.com/95


아래는 봇 전체코드 깃허브 주소입니다.

https://github.com/YeChan39/YeChanParkDark


네이버 블로그 포스팅 주소

https://blog.naver.com/turnbf/221423782841