카테고리 없음

파이썬으로 디스코드봇 만들기 2화(임베드)(윈도우)

jin7065 2021. 2. 22. 09:53

안녕하세요 진입니다.

드디어 2편이네요 오늘은 디스코드에서 임베드라는것을 알아볼건데 아주 간단해요!

오늘 내용에는 datetime 이라는 모듈이 있으니 코드 맨 위에 import datetime 해주세요

 

 

 

 

이런게 임베드 입니다

임베드를 어떻게 하냐면 그냥 해서는 안됍니다

discord.Embed 형태로 하셔야 해요

임베드 기초코드는 이겁니다

@bot.command(name = "임베드")
async def embed(ctx):
    embed = discord.Embed(title = "제목", description = "내용", timestamp = datetime.datetime.utcnow(), color = 0xffff33)
    embed.add_field(name = "필드제목", value = "필드내용")
    embed.set_footer(text = "푸터내용", icon_url = "https://i.ibb.co/br1Gk61/200.png")
    embed.set_thumbnail(url = "https://i.ibb.co/br1Gk61/200.png")
    embed.set_image(url = "https://i.ibb.co/br1Gk61/200.png")
    embed.set_author(name = ctx.author.name, url = "https://discord.gg/UByy5cf", icon_url = ctx.author.avatar_url)
    await ctx.send(embed = embed)

이건 자주 쓰는 내용이니 외워두시면 나중에 쓰실때 편합니다

이 코드는 저번 코드 밑에, 그리고 bot.run 위에 넣으셔야 합니다

일단 3번째 줄부터 보죠

3번째 줄은 embed 라는 변수를 지정하고 title 은 제목, description 은 내용, timestamp 는 시간, color 은 임베드 색을 지정합니다(title, description, timestamp, color 은 수정하셔도 됩니다)

4번째 줄은 필드를 만드는 건데 name 은 필드의 제목이고 value 는 필드의 내용입니다 (저는 주로 description이 너무 적거나 안예쁠때 사용했어요 name, value 는 수정하셔도 됩니다)

5번째 줄은 푸터 설정하는건데요 푸터는 임베드의 맨 아래 위치합니다 text 는 푸터 내용이고요 icon_url 은 안에 사진 url을 넣어서 사진을 표현하는겁니다(text 랑 icon_url 은 수정하셔도 됩니다)

6번째 줄과 7번째 줄은 다 임베드에 사진을 넣는거지만 다른점이 있습니다

6번째 줄인 set_thumbnail 은 임베드 상단에 위치하며 작은 크기고 7번째 줄인 set_image 는 임베드 아래쪽에 위치하며 크기가 큽니다(둘다 url 을 수정하셔도 됩니다)

7번째 줄은 set_author  이고 작성자를 표시하는겁니다 ctx.author.name 은 명령어를 실행시킨 사람의 이름이니 참고해주세요

그리고 8번째 줄은 임베드를 전송하는 내용으로 embed = 이 없으면 임베드로 보내지지 않습니다

실행 내용 입니다

보기 쉽게 정리한 내용입니다

그러면 직접 텍스트를 임베드로 만들어 봅시다

저번에 만든 핑코드를 임베드로 만드는거에요

일단 기본적으로 여기에는 제목과 내용만 들어가도 됩니다

한번 만들어 보세요

@bot.command(name = "핑")
async def ping(ctx):
    pings = round(bot.latency * 1000)
    embed = discord.Embed(title = "핑", description = f"{pings}ms")
    await ctx.send(embed = embed)

예시코드인데요 이거랑 비슷하게 만드셨겠죠?

오류가 나면 discord.gg/UByy5cf

 

Join the 인피니티봇 서포트서버 Discord Server!

Check out the 인피니티봇 서포트서버 community on Discord - hang out with 49 other members and enjoy free voice and text chat.

discord.com

이 서버 들어오셔서 저를 멘션하시면 오류 봐드리겠습니다

그러면 안녕히 가세요

*다음편은 f-string 입니다
================================

*추가된 내용

글쓰고 생각났는데 하이퍼 링크를 안알려 드렸더라고요

하이퍼 링크는 [이름](https://discord.gg/UByy5cf/)

이런식으로 하시면 됩니다

@bot.command(name = "서버")
async def server(ctx):
    embed = discord.Embed(description = "[이름](https://discord.gg/UByy5cf)")
    await ctx.send(embed = embed)

예시코드고요

잘 작동 하네요