반응형
목차
이번 글에서는 Embed를 사용해 메시지를 박스 같은 곳 안에 담아 보내보겠습니다.
#3번 글에서 계속하겠습니다.
https://howbeautifulworld.tistory.com/55
Embed 생성
embed를 만드는 코드입니다.
embed = discord.Embed(title="title", description='description', color=discord.Color.green())
await ctx.send(embed=embed)
링크와 썸네일도 넣을 수 있으며
embed = discord.Embed(title='title', description='description', url='https://howbeautifulworld.tistory.com/', color=discord.Color.random())
embed.set_thumbnail(url=ctx.author.avatar_url)
await ctx.send(embed=embed)
field를 추가할 수도 있습니다.
embed.add_field(name='field 1 title', value='field 1 value', inline=False)
embed.add_field(name='field 2 title', value='field 2 value', inline=False)
embed.add_field(name='field 3 title', value='field 3 value', inline=False)
embed.add_field(name='field 4 title', value='field 4 value', inline=False)
inline은 줄 바꿈 여부입니다.
embed.add_field(name='field 1 title', value='field 1 value', inline=True)
embed.add_field(name='field 2 title', value='field 2 value', inline=True)
embed.add_field(name='field 3 title', value='field 3 value', inline=True)
embed.add_field(name='field 4 title', value='field 4 value', inline=True)
마지막으로 footer입니다.
embed.set_footer(text=ctx.author.display_name)
적용
value가 ''이 아닐 때 embed에 field를 추가해주었습니다.
마지막에 embed에 field가 없으면 '잘못된 명령어입니다.' 라는 메시지를 보내게 해 주었습니다.
@bot.command(name='롤')
async def random_lol(ctx, *, text=''):
result = lol.getResult(text)
embed = discord.Embed(title="결과", color=discord.Color.green())
for key, value in result.items():
if value != '':
embed.add_field(name=key, value=value, inline=True)
if embed.fields:
await ctx.send(embed=embed)
else:
await ctx.send("잘못된 명령어입니다.")
반응형
'프로젝트 > 디스코드 봇' 카테고리의 다른 글
[Python] #5 디스코드 봇 만들기 - Data Dragon (0) | 2022.03.27 |
---|---|
[Python] #3-1 디스코드 봇 만들기 - 여러 명 추천 (0) | 2022.03.26 |
[Python] #3 디스코드 봇 만들기 - 랜덤 추천 (4) | 2021.07.11 |
[Python] #2 디스코드 봇 만들기 - 명령어 (0) | 2021.07.10 |
[Python] #1 디스코드 봇 만들기 - 봇 생성 (0) | 2021.07.06 |
댓글