ํ์ด์ฌ์ผ๋ก ๋์ค์ฝ๋(Discord) ์๋ฆผ ๋ฉ์ธ์ง ๋ด ๋ง๋ค๊ธฐ(2)- ์๋ฆผ ๋ฉ์ธ์ง ์ ์ก
์ด์ ๊ธ
00. ๊ฐ์
์ด์ ํฌ์คํ ์์ ๋์ค์ฝ๋ ์๋ฆผ ๋ด์ ๋ง๋ค๊ธฐ ์ํ ์ฌ์ ์์ฑ ๊ณผ์ ์ ๋ค๋ค๋ณด์๋ค.
์ด๋ฒ์๋ ๋ณธ๊ฒฉ์ ์ผ๋ก ํ์ด์ฌ์ผ๋ก ์๋ฆผ ๋ฉ์ธ์ง๋ฅผ ์ ์กํ๋ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์.
01. ์๋ฆผ ๋ฉ์ธ์ง ์ ์ก ์ฝ๋ ์์ฑ
ํจํค์ง ์ค์น
ํ์ด์ฌ์์ ๋์ค์ฝ๋ ๋ด์ ๋ง๋ค๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ด ํจํค์ง๋ฅผ ์ค์นํ๋ค.
pip install discord
์ฝ๋ ์์ฑ
import discord
from discord.ext import commands
DISCORD_CHANNEL_ID = 921103 # ์ฑ๋ ์์ด๋๋ฅผ ์์ฑํฉ๋๋ค.
DISCORD_BOT_TOKEN = 111111 # ๋ด์ ํ ํฐ์ ์์ฑํฉ๋๋ค.
if __name__ == "__main__":
intents = discord.Intents.default()
intents.message_content = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print(f'Bot is ready')
channel = bot.get_channel(DISCORD_CHANNEL_ID)
if channel is None:
print('์ฑ๋์ด ์์ด์ ๐')
return
print('์๋
ํ์ธ์? ๐')
bot.run(DISCORD_BOT_TOKEN)
์์ฃผ ์์ฃผ ๊ฐ๋จํ ์ฝ๋๋ค.
intents = discord.Intents.default()
bot = commands.Bot(command_prefix='!', intents=intents)
๋ด์ ์์ฑํ๊ธฐ ์ํด์ intents๋ ๊ฒ์ ๋ง๋ค์ด ์ค์ผํ๋ค.
intents?
๋์ค์ฝ๋ ๋ด์ด ์๋ฒ์ ์ํธ์์ฉํ ๋ ์ด๋ค ์ข ๋ฅ์ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ฌ์ง๋ฅผ ์ค์ ํ๋ ๊ฒ์ด๋ค.
์ด๋ฒคํธ๋ค์ ์๋ฅผ ๋ค์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ฑฐ๋ ๋ฉค๋ฒ๊ฐ ์๋ฒ์ ๋ค์ด์ค๊ฑฐ๋ ๋๊ฐ๋ ๋ฑ์ ์ํฉ์ ํฌํจํ๋ค.
์ฐ๋ฆฌ๋ ์ผ๋ฐฉ์ ์ผ๋ก ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ ์๋ฆผ ๊ธฐ๋ฅ์ ๋ง๋ค ๊ฒ์ด๋ฏ๋ก ๋ฑํ ์ค์ ์ ํด์ฃผ์ง ์๋๋ค.
command_prefix๋ ๋ด์ ๋ช ๋ น์ ๋ด๋ฆด ๋ ์ฑํ ์ ๋งจ ์์ ๋ถ์ด๋ ์ ๋์ฌ๋ก์จ ํด๋น ์ ๋์ฌ๋ฅผ ํตํด ๋ช ๋ น์ด์ธ์ง ์ธ์งํ๋ค.
ex) !์ธ์ฌ, !์ ๋ณด, ...
์ญ์ ์ด๋ฒ ํฌ์คํ ์์ ์ฌ์ฉํ์ง ์๋ ๊ธฐ๋ฅ์ด์ง๋ง ์ผ๋จ ์์ฑํด์ค๋ค.
@bot.event
async def on_ready():
print(f'Bot is ready')
channel = bot.get_channel(DISCORD_CHANNEL_ID)
if channel is None:
print('์ฑ๋์ด ์์ด์ ๐')
return
print('์๋
ํ์ธ์? ๐')
@bot.event ๋ ํ์ด์ฌ์ ๋ฐ์ฝ๋ ์ดํฐ(Decorator)๋ก, ํด๋น ๋ก์ง์์๋ bot์ ์ด๋ฒคํธ๋ฅผ ๊พธ๋ฉฐ์ฃผ๋ ์ญํ ์ ํ๋ค.
on_ready ํจ์๋ ๋ด์ด ์ ์์ด ์๋ฃ ๋ ํ ์ค๋น๊ฐ ๋์์ ๋ ํธ์ถ์ด ๋๋๋ฐ, ์ ๋ก์ง์์๋ ์ฑ๋์ ์ป์ด์ ํด๋น ์ฑ๋์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ ๊ธฐ๋ฅ์ ์ํํ๋ค.
bot.run(DISCORD_BOT_TOKEN)
๋ด์ ์คํ์ํค๋ ๋ผ์ธ์ด๋ค, DISCORD_BOT_TOKEN์ ์ด์ ๊ธ ์์ ๋ค๋ฃจ์์ผ๋ ํด๋น ํ ํฐ์ ๋ณต์ฌ, ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ค.
๊ทธ๋ฌ๋ฉด DISCORD_CHANNEL_ID๋ ์ด๋ป๊ฒ ์ป์ด์ค๋ ๊ฑธ๊น?
02. ๋์ค์ฝ๋ ์ฑ๋ ์์ด๋ ์ป์ด์ค๊ธฐ
๋์ค์ฝ๋ ์ฑ์์ ์ฌ์ฉ์ ์ค์ - ๊ณ ๊ธ - ๊ฐ๋ฐ์ ๋ชจ๋๋ฅผ ONํด์ค๋ค.
๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๊ณ ์ ํ๋ ์ฑ๋์ ๋ง์ฐ์ค ์ฐํด๋ฆญ - ์ฑ๋ ID ๋ณต์ฌํ๊ธฐ๋ก ์ฑ๋ ID๋ฅผ ๋ณต์ฌํ์ฌ ์ฝ๋์ ๋ถ์ฌ๋ฃ์ด์ค๋ค. ๐
03. ๊ฒฐ๊ณผ
์ฝ๋๋ฅผ ์คํ์์ผ ์๋ฆผ ๋ฉ์ธ์ง๊ฐ ์ ์์ ์ผ๋ก ์ ์ก๋๋์ง ํ์ธํ๋ค.
'Language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
ํ์ด์ฌ venv ๋ชจ๋์ ํตํด ๊ฐ์ ํ๊ฒฝ์์ ํ๋ก์ ํธ ์์ฑํ๊ธฐ
ํ์ด์ฌ venv ๋ชจ๋์ ํตํด ๊ฐ์ ํ๊ฒฝ์์ ํ๋ก์ ํธ ์์ฑํ๊ธฐ
2023.12.12 -
ํ์ด์ฌ์ผ๋ก ๋์ค์ฝ๋(Discord) ์๋ฆผ ๋ฉ์ธ์ง ๋ด ๋ง๋ค๊ธฐ(1) - ๋ด ์์ฑ ๋ฐ ์ถ๊ฐ
ํ์ด์ฌ์ผ๋ก ๋์ค์ฝ๋(Discord) ์๋ฆผ ๋ฉ์ธ์ง ๋ด ๋ง๋ค๊ธฐ(1) - ๋ด ์์ฑ ๋ฐ ์ถ๊ฐ
2023.10.19