디스코드 봇 준비- discord.py 설치하기 (feat 맥북, 구글 코랩)

로컬 맥북 혹은 구글 코랩에 discord.py 설치하기

파이썬용 디스코드 봇 API로, discord.py를 사용하면 손쉽게 디스코드 봇을 만들 수 있다. 파이썬이 있다는 전제가 깔려 있으므로, 맥북 로컬에 설치되어 있는 파이썬이 적어도 3.5 이상이면 좋고, 대안으로 구글 코랩이나 주피터 노트북/랩을 사용하여 파이썬 테스트 해볼 수 있을 것이다.

     

    디스코드 설치하기

    맥북에서 디스코드(discord.py)를 설치하는 방법과, 구글 코랩에서 설치하는 방법 순서로 살펴보자.

     

    맥북에서 디스코드 설치하기

    맥북에 discord.py가 기본적으로 설치되어 있지는 않다. discord.py의 설치 여부를 다음의 명령어 중 하나로 간단하게 확인해 볼 수 있다.

    $ python -c "import discord"

    혹은 python을 실행한 후에

    import discord

    를 실행했을 때, 에러가 발생한다면 discord 설치부터 해야 한다. 다음의 명령어로 맥북에 디스코드를 설치할 수 있다.

    $ pip install discord.py

     

     

     

    구글 코랩에서 디스코드 설치하기

    구글 코랩에도 기본적으로 디스코드가 설치되어 있지 않기 때문에, 다음과 같이 직접 discord.py를 설치해 줘야 한다.

    $ !pip install discord.py

    를 실행하면 discord.py가 실행된다. 이후, 디스코드 봇의 코드를 실행시켜 정상적으로 채널에 메시지가 발행되는지 확인해 보면 된다. 앞에 느낌표를 붙이고 실행하자.

    정상적으로 설치가 된다면, 다음과 같은 메시지가 출력될 것이다.

    Collecting discord.py
      Downloading discord.py-1.7.3-py3-none-any.whl (786 kB)
         |████████████████████████████████| 786 kB 32.6 MB/s 
    Collecting aiohttp<3.8.0,>=3.6.0
      Downloading aiohttp-3.7.4.post0-cp37-cp37m-manylinux2014_x86_64.whl (1.3 MB)
         |████████████████████████████████| 1.3 MB 42.7 MB/s 
    Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp<3.8.0,>=3.6.0->discord.py) (21.2.0)
    Requirement already satisfied: chardet<5.0,>=2.0 in /usr/local/lib/python3.7/dist-packages (from aiohttp<3.8.0,>=3.6.0->discord.py) (3.0.4)
    Collecting multidict<7.0,>=4.5
      Downloading multidict-5.2.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (160 kB)
         |████████████████████████████████| 160 kB 70.5 MB/s 
    Requirement already satisfied: typing-extensions>=3.6.5 in /usr/local/lib/python3.7/dist-packages (from aiohttp<3.8.0,>=3.6.0->discord.py) (3.7.4.3)
    Collecting async-timeout<4.0,>=3.0
      Downloading async_timeout-3.0.1-py3-none-any.whl (8.2 kB)
    Collecting yarl<2.0,>=1.0
      Downloading yarl-1.7.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (271 kB)
         |████████████████████████████████| 271 kB 68.7 MB/s 
    Requirement already satisfied: idna>=2.0 in /usr/local/lib/python3.7/dist-packages (from yarl<2.0,>=1.0->aiohttp<3.8.0,>=3.6.0->discord.py) (2.10)
    Installing collected packages: multidict, yarl, async-timeout, aiohttp, discord.py
    Successfully installed aiohttp-3.7.4.post0 async-timeout-3.0.1 discord.py-1.7.3 multidict-5.2.0 yarl-1.7.0

     

    디스코드 봇 기본 동작 테스트

    단, 디스코드 채널 등 기본 셋업이 되어 있다는 전제하에, 다음의 코드를 실행해 보자.

    import discord
    from discord.ext import tasks
    
    TOKEN = '내 토큰 값'
    CHANNEL_ID = 내 채널 ID
    
    client = discord.Client()
    
    @client.event
    async def on_ready():
        send_msg.start()
    
        print("Hi, logged in as")
        print(client.user.name)
        print()
    
    @tasks.loop(minutes = 5)
    async def send_msg():
        channel = client.get_channel(CHANNEL_ID)
        await channel.send('Hello')
    
    client.run(TOKEN)

    라이브러리 등 의존성 문제가 없다면 사전에 생성한 디스코드 봇과 봇에 연결된 채널에 방금 파이썬 코드로 테스트 전송한 메시지가 채널에 나타날 것이다.

     


     

    디스코드 맥북 테스트 코드 실행시

    $ python test.py
    
    Hi, logged in as
    LuranBot

    서버 메시지가 출력되고, 봇도 반응할 것이다.

     

    디스코드 구글 코랩 테스트 코드 실행시

    코드 블럭에서 화살표 버튼을 눌러서 실행하자.

    정상적으로 동작했다면, 하단에 메시지가 출력되고, 봇도 반응할 것이다.

     

    디스코드 봇 메시지 수신 화면

    앞서 실행만 프로그램으로 봇이 다음과 같이 응답했다.

     

    참고

     

    디스코드 서버-봇 설정하기

    디스코드란? 디스코드는 인스턴트 메신저 중의 하나로 음성, 채팅, 화상통화 등을 지원하는 VoIP 솔루션이다. 2015년 9월에 모바일 게임인 Fates Forever 지원하기 위해 최초 출시되었으며, 뛰어난 성

    luran.me

     

    구글 코랩 (Google Colab) 시작하기

    구글 코랩(Google Colaboratory)은 구글에서 제공하는 Jupyter Notebook이다. 대신, 인프라는 구글 클라우드를 기반으로 하기 때문에 개개인의 PC 보다 오히려 좋은 성능 및 접근성을 제공하고 있다. (보안

    luran.me

     

    아나콘다(Anaconda)로 맥북에 주피터 랩/주피터 노트북 설치하기

    파이썬 개발 환경을 구축하고자 아나콘다(Anaconda)를 설치하는 방법에 대해 기록한다. 사실 제목에는 아나콘다를 먼저 썼지만, 보다 맞는 제목은 아나콘다로 주피터 노트북/주피터 랩 설치하기가

    luran.me

     

    파이썬으로 디스코드 봇 개발 시작하기 (기본 구조 잡기)

    discord.py를 사용하여 디스코드 봇 개발 시작하기 디스코드 봇 개발을 위해 사전준비를 마쳤다면, 이제 본격적으로 개발하기 위해 틀을 잡아본다. discord.py 설치 아래 글들을 참고하여, discord.py 사

    luran.me

     

    댓글

    Designed by JB FACTORY