파이쎈디스코드 봇 만들기
본문 바로가기
카테고리 없음

파이쎈디스코드 봇 만들기

by ghkniii 2021. 3. 1.
728x90

파이썬으로디스코드봇만들기

원레는동영상으로업로드할러했는데너무길어서

글을작성합니다.

1파이썬설치

디스코드 봇을 파이썬으로 작성하기 편하게 제작된 모듈이 있는데 discord.py을 보고 참고하였다.

먼저 라이브러리를 설치해준다.

#Windows

pip install discord

나는 먼저 평소 라이브러리를 설치하듯이 위와 같이 설치했는데 다운로드 되는 것처럼 보이더니 코드에서 import 되지 않아서

discord.py에 나온 방법으로 다시 설치했다.

1

2

3

4

5

# Linux/OS X

python3 -m pip install -U discord.py

# Windows

py -3 -m pip install -U discord.py

라이브러리를 설치하고 Python파일을 만들어 코드를 작성해준다.

기존 자료들을 참고해서 코드를 작성했는데…

Discord 모듈이 달라졌는지 코드가 안 먹혀서 이것저것 찾아보다 해결했다.

https://discordpy.readthedocs.io/en/latest/api.html#

참고한 사이트

메모장을하나만들고.py입력하세요

예jjj.py

cmd에서 설치를 해야 하는데, 저는 운영체제가 윈도우라서 윈도우기즌 cmd창

그 다음으로 명령어를 칩니다.

pip install discord

라고 쳐 주시면 다운로드가 시작 됩니다.

설치가 완료되면 이제 파이참을 열어서 프로젝트 생성 후 파이썬 소스파일을 생성합니다.

Visual Studio Code다운로드한뒤에설치뒤에확장프로그램파이썬를설치를하세요

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

28

import asyncio

import discord

client = discord.Client()

# 생성된 토큰을 입력해준다.

token = "토큰"

# 봇이 구동되었을 때 보여지는 코드

@client.event

async def on_ready():

print("다음으로 로그인합니다")

print(client.user.name)

print(client.user.id)

print("================")

# 봇이 특정 메세지를 받고 인식하는 코드

@client.event

async def on_message(message):

# 메세지를 보낸 사람이 봇일 경우 무시한다

if message.author.bot:

return None

if message.content.startswith('!안녕'):

channel = message.channel

await channel.send('반가워!')

client.run(token)

코드를 작성하고 실행시킨다.

1

2

3

다음으로 로그인합니다

TunghsBot

[CLIENT ID]

위와 같이 출력되면 성공!

채팅창에 지정한 !안녕을 입력하면 반가워!라고 동작한다면 성공!!

이로써 간단히 디스코드 봇을 만들었다. 앞으로 Python의 여러 기능을 응용해 다양한 기능이 추가된 봇을 구현하려고 한다.

추가로자동응답추가할러면

if message.content.startswith('q'):

channel = message.channel

await channel.send('반가워!')

 

파이쎈으로 제작할때아레명령어를입력하세요

입력하기힘들다면cfrl+C하고cfrl+v를하세요

import asyncio

import discord

client = discord.Client()

# 생성된 토큰을 입력해준다.

token = "봇토큰값을입력하세요"

# 봇이 구동되었을 때 보여지는 코드

@client.event

async def on_ready():

print("다음으로 로그인합니다")

print(client.user.name)

print(client.user.id)

print("================")

# 봇이 특정 메세지를 받고 인식하는 코드

@client.event

async def on_message(message):

# 메세지를 보낸 사람이 봇일 경우 무시한다

if message.author.bot:

return None

if message.content.startswith('안녕'):

channel = message.channel

await channel.send('반가워!')

if message.content.startswith('q'):

channel = message.channel

await channel.send('반가워!')

 

client.run(token)

728x90

댓글