반응형
파이썬 버전 3.8
먼저 discord.py 최신 버전을 설치합니다.
22.12.07 기준 discord.py가 공식2.0으로 업데이트 되서 변경합니다
pip install discord.py
설치가 끝나셨으면 봇 실행파일을 작성해 줍니다.
from discord import Intents
from discord.ext import commands
from discord import Game
from discord import Status
from discord import Object
class MyBot(commands.Bot):
def __init__(self):
super().__init__(
command_prefix='!',
intents=Intents.all(),
sync_command=True,
application_id=
)
self.initial_extension = [
"Cogs.hello"
]
async def setup_hook(self):
for ext in self.initial_extension:
await self.load_extension(ext)
await bot.tree.sync(guild=Object(id=))
async def on_ready(self):
print("login")
print(self.user.name)
print(self.user.id)
print("===============")
game = Game("....")
await self.change_presence(status=Status.online, activity=game)
bot = MyBot()
bot.run('')
bot.tree.sync(guild.Object(id=여기에 자신이 테스트할 서버의 id를 입력해 줍시다.))
슬래시 커맨드를 사용 하기때문에 기입해주셔야 합니다. 나중에 여러 서버에 적용하실 땐
bot.tree.sync()만 기입.
봇의 토큰이랑 id를 구하기 위해
https://discord.com/developers/applications
접속해서 애플리케이션 생성 후 봇 새로 만들기.
봇 토큰을 구하고 코드에 기입
self.initial_extension = []
괄호 부분에 사용할 Cog를 기입
self.initial_extension = [
"Cogs.hello"
]
Cogs라는 폴더를 생성 후 hello.py 파일 생성
hello.py 코드 작성
from discord import app_commands
from discord.ext import commands
from discord import Interaction
from discord import Object
class hello(commands.Cog):
def __init__(self, bot: commands.Bot) -> None:
self.bot = bot
@app_commands.command(name="hello")
async def hello(self, interaction: Interaction) -> None:
await interaction.response.send_message("hi")
async def setup(bot: commands.Bot) -> None:
await bot.add_cog(
hello(bot),
guilds=[Object(id=)]
)
자 이제 코드 작성이 끝났으니 명령어가 작동하는지 실행을 해봅시다.
이 정도 권한만 부여해주고 초대해봅시다
끝.
반응형
'discord' 카테고리의 다른 글
디스코드 봇 [discord.py 2.0] prefix (0) | 2022.06.06 |
---|---|
디스코드 봇 [discord.py 2.0] select (0) | 2022.06.06 |
디스코드 봇[discord.py 2.0] 버튼 (0) | 2022.06.06 |