본문 바로가기
discord.py

[Discord.py] 디스코드 봇을 직접 만들어보자 #3 (Embed)

by 뉴아뉴큐 2023. 8. 20.
반응형

 

디스코드 봇 개발 #1 (사전 준비)

https://newanewq.tistory.com/3

디스코드 봇 개발 #2 (Slash)

https://newanewq.tistory.com/4

디스코드 봇 개발 #3 (Embed)

https://newanewq.tistory.com/5

디스코드 봇 개발 #4-1 (modal)

https://newanewq.tistory.com/7

디스코드 봇 개발 #4-1 (Select Menu)

https://newanewq.tistory.com/9

https://newanewq.tistory.com/4

 

지난 #2 편에서는 명령어를 이용해 봇에 명령을 입력하고 embed 로 반환 받는 부분까지 작성해 보았다. 

이번 편에서는 embed에 대한 자세한 설명을 진행하고 4편에서는 날짜를 입력 받는 부분을 

만드는 것을 목표로 해보겠다. 

 

Part # 3 / Embed

Embed 는 직역하면 끼워 넣다, 이런식으로 해석된다. 

discord.py 의 Embed 는 블록을 만들어 깔끔하게 글자나 사진을 출력할 수 있는 기능이다.

 

아래 코드를 작성 후 /test1  명령어를 사용해보자

 

url에 들어가 있는 링크는 이미지 링크를 넣어주면 되는데 간단하게 

디스코드 채팅방에 이미지를 올린 뒤 우클릭해 링크 복사를 통해 얻을 수 있는 이미지를 넣어두었다.

링크 복사하기를 통해 해당 이미지의 링크를 얻을 수 있다.

#!/usr/bin/env python

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='|',intents=discord.Intents.all())

@bot.event
async def on_ready():
    print("봇 실행")
    

@bot.tree.command(name="test1", description="test2")
async def test3(interaction: discord.Interaction):

    embed = discord.Embed(title="봇 정보", color=0x0000ff)
    embed.set_thumbnail(url="https://cdn.discordapp.com/attachments/1142466333401960660/1142480550146351326/image.png")
    embed.add_field(name="제작자", value="newAnewQ", inline=False)
    embed.set_author(name="여기는 1번 글", url="https://cdn.discordapp.com/attachments/1142466333401960660/1142480550146351326/image.png", icon_url="https://cdn.discordapp.com/attachments/1142466333401960660/1142480550146351326/image.png")
    embed.set_footer(text="여기는 2번 글")
   
    await interaction.response.send_message(embed=embed)

bot.run('봇 토큰 값')

각 부분에 대한 간단한 설명은 아래와 같다.

설명은 참고하고 실제 실행 명령어와 비교해본 뒤 원하는 글자를 넣어 변경해보며 

embed 사용법을 익히면 된다.

 

1번 줄 (필수) = Embed 의 제목과 색상을 설정한다.

2번 줄 (선택) = Embed 우측에 이미지를 추가한다.

3번 줄 (선택) = 필드를 추가한다 name은 약간 큰 글자로 강조되어 표시 value는 아래 작은 글자로 표시된다.

                          inline옵션은 줄바꿈을 선택할 수 있다.

4번 줄 (선택) = 맨위에 글을 추가하고 프로필 사진처럼 작게 이미지를 표시한다.

5번 줄 (선택) = embed 맨 아래에 작게 글자를 남긴다. 

6번 줄 (필수) = 위에서 설정한 Embed 를 전송한다.

 

test1 명령어 사용 결과

 

이번 편에서는 디스코드 embed 명령어 사용방법을 알아보았다. 

#3편에서는 명령어에 input 값을 입력하고 해당 값을 이용해 전역일을 계산하는 기능을 추가해보도록 하겠다.

 

디스코드 봇 개발 #1 (사전 준비)

https://newanewq.tistory.com/3

디스코드 봇 개발 #2 (Slash)

https://newanewq.tistory.com/4

디스코드 봇 개발 #3 (Embed)

https://newanewq.tistory.com/5

디스코드 봇 개발 #4-1 (modal)

https://newanewq.tistory.com/7

디스코드 봇 개발 #4-1 (Select Menu)

https://newanewq.tistory.com/9

반응형

댓글