이전글보기
[정보/Discord Bot] - [discord.py 2.0] 02. Discord Bot 계정 만들기
[정보/Discord Bot] - [discord.py 2.0] 03. PyCharm 세팅하기
[정보/Discord Bot] - [discord.py 2.0] 04. discord.py 라이브러리 설치하기
[정보/Discord Bot] - [discord.py 2.0] 05. 봇 기본설정하기
[정보/Discord Bot] - [discord.py 2.0] 06. 봇 명령어 추가하기
이번엔 메세지에 Embed를 추가하는 방법을 알려드릴겁니다.
기본 Embed의 구조는 다음과 같습니다.
Embedclass discord.Embed(*, colour=None, color=None, title=None, type='rich', url=None, description=None, timestamp=None) |
위 Embed 클래스로 내용을 작성한 후에, 보내는 메세지에 만들었던 Embed를 추가해서 보내는 형식입니다.
일반적으로 메세지를 보낼때 사용하는 send method는 다음과 같습니다.
await send(content=None, *, tts=False, embed=None, embeds=None, file=None, files=None, stickers=None, delete_after=None, nonce=None, allowed_mentions=None, reference=None, mention_author=None, view=None, suppress_embeds=False, ephemeral=False) |
위 send method의 수많은 parameter 중, embed와 embeds 를 사용하여 embed를 첨부하게 됩니다.
이전에 사용했던 ping 명령어에 embed를 추가하여 보겠습니다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import asyncio
import discord
from discord.ext import commands
intents = discord.Intents.all()
app = commands.Bot(command_prefix='!', intents=intents)
async def main():
async with app:
file = open("discord_token.txt")
bot_token = file.readline()
file.close()
await app.start(bot_token)
@app.command()
async def ping(ctx):
await ctx.send('pong')
@app.command(name="핑")
async def ping(ctx):
embed = discord.Embed(title="ping pong", description="핑퐁")
await ctx.reply('퐁', embed=embed)
asyncio.run(main())
|
cs |
추가된 코드는 24~25 Line 입니다.
embed = discord.Embed(title="ping pong", description="핑퐁")
await ctx.reply('퐁', embed=embed)
24 : 제목은 "ping pong" 내용은 "핑퐁" 인 Embed 객체를 생성합니다.
25 : 생성된 Embed 객체를 명령어 채팅의 답장(reply)에 추가하여 송신합니다.
위 처럼 수정 후, 명령어를 입력할 경우 다음과 같이 출력이 됩니다.
embeds 또한 사용법은 같습니다.
@app.command(name="핑")
async def ping(ctx):
embed = discord.Embed(title="ping pong", description="핑퐁")
await ctx.reply('퐁', embeds=[embed, embed])
그저 embed 단일로 포함하는것이 아니라 배열로 다수의 embed를 보낼 수 있습니다.
기본적인 embed 꾸미기는 다음 웹사이트를 이용하시면 편하게 적용하실 수 있습니다.
https://cog-creators.github.io/discord-embed-sandbox/
다음 포스팅에서는 Embed를 꾸미는 방법 위주로 준비해보겠습니다 :)
포스팅에 사용된 모든 소스코드는 아래 Github에서 확인하실 수 있습니다.
https://github.com/aochfl/ChoRi_TestBot
참고자료
'정보 > Discord Bot' 카테고리의 다른 글
[discord.py 2.0] 09. Cogs를 생성하여 소스코드 분할하기 (0) | 2022.09.08 |
---|---|
[discord.py 2.0] 08. Embed 꾸미기 (0) | 2022.09.07 |
[discord.py 2.0] 06. 봇 명령어 추가하기 (0) | 2022.09.04 |
[discord.py 2.0] 코딩 중 발생한 error 모음 (0) | 2022.09.04 |
[discord.py 2.0] 05. 봇 기본설정하기 (0) | 2022.09.04 |