2. Embed

chaejm55·2021년 3월 8일
2

디스코드봇

목록 보기
3/18
post-thumbnail

0. 들어가기 전에

이제 여러가지 말을 배웠다면 말을 예쁘게 꾸며서 하는 법도 배워야 할 것이다. 그래서 출력을 그냥 텍스트가 아닌 Embed로 꾸며서 출력하는 방법을 알아볼 것이다.

1. Embed 예시

위의 사진과 같이 메시지를 조금 더 깔끔하고 예쁘게 출력하는 기능이다.
아래에서 코드와 함께 살펴 보자.

2. Embed 기본 구성요소

1) Embed 생성

embed = discord.Embed(title="Embed title", description="Embed description", color=0x36ccf2)

Embed를 생성하여 embed 변수에 담는 코드이다. title, description, color로 Embed의 기본틀을 만든다.

2) thumbnail, image 설정

embed.set_thumbnail(url="thumbnail_url")

오른쪽 위에 thumbnail을 삽입하는 코드이다.

embed.set_image(url="image_url")

아래에 image를 삽입하는 코드이다.

보통 이미지는 인터넷에서 사진 링크를 가져오거나, 디스코드에 이미지를 메시지로 보내고 그 링크를 복사하여 입력하는 방법을 사용한다.

3) field 설정

embed.add_field(name="field_name", value="field value", inline=False)

내용을 담는 중요한 부분인 field를 추가하는 코드이다. inline은 field의 내용을 최대한 한줄 내에 표시 할때 True로 둔다. inline의 기본 값은 True이다.

(inline=True)

(inline=False)
embed.set_footer(text="footer_text", icon_url="icon_url")

가장 아래쪽에 작게 표시 되는 내용인 footer이다.

5) author 설정

embed.set_author(name="author_name", url="url", icon_url="icon_url"

잘 사용하지 않는 set_author()이다. 그냥 알아만 두면 될듯하다.

3. 발생할 법할 에러

필수 keyword argument 누락

add_field()를 사용할 때 name과 value를 누락시키면 발생하는 에러이다. title, description, color, inline은 누락해도 에러가 발생하지 않는다.

4. 마무리

이제 겉모양은 다른 디스코드 봇과 비슷하게 만들어졌다. 다음번에는 모든 명령어 함수 위에 붙는 데코레이터(@bot.command())에 대하여 알아보겠다.

github 전체 코드

time.sleep(259200)
profile
여러가지를 시도하는 학생입니다

0개의 댓글