개인 자료란 (JE)

  서버 커뮤니티

Profile logdev 대표칭호 없음
Profile

python

파이썬 속성 + 봇 강좌 1강 - ping pong

2020.09.19 조회 수 580 추천 수 0

네... 첫번째 강의가 왔습니다.


먼저 목차로 시작하겠습니다.


 강의 목차

0) 개발환경 세팅

  0-1 파이썬 컴퓨터에 깔기

  0-2  구름 ide 이용하기

1) 파이썬 속성 강좌

    1-1 변수

    1-2 함수

2) 디스코드 봇 강좌

    2-1 세팅

    2-2 ping pong 봇 만들기

3) 정리

    3-1 기타 다른 도움을 받을 수 있는 곳


0) 개발환경 세팅


개발환경을 세팅해봅시다.


0-1 파이썬 컴퓨터에 깔기


먼저 각자 좋아하는 에디터를 쓸 것이라고 생각하기에,


에디터 관련해선 안건드릴려고 파이썬을 설치하는데 까지만 알아보려고 합니다.


추후에 이것과 관련한 질문이 들어올경우,


 ide 별 기본 세팅 강좌를 할 생각이 있습니다.


만약 자기가 원하는 ide 세팅을 할수 없는 경우엔.


구름 ide 사용을 통해 파이썬과 디스코드 봇 제작을 접하는것도 추천 드립니다.


(0-2 구름 ide 이용하기에서 설명되어있습니다)


먼저 인터넷을 켜고 


파이썬 공식 사이트 python.org 에 접속합니다.


bcdfa9cb949669a33bdb47eb37795a09.PNG


여기서 노란색 형광펜으로 칠해진 걸 눌러줍시다.


e9e8c20f55be2445dbabfc0519a16fd3.PNG


클릭하게 되면 다운로드 페이지로 이동되는데,


여기서 빨간색으로 칠해진 버튼을 눌러서 다운해줍시다.


893015b60e75560e4e39edf02f08a860.PNG


다운을 정상적으로 끝마치게 되면.


다운로드 폴더에 파이썬 설치 파일이 생깁니다.


이걸 클릭해서 파이썬 설치 화면으로 넘어갑시다.


8478310b2e196d5ad604f2c60ad5affd.PNG


전 이미 설치해서 *customize installation이 뜨지만,


 여러분들은 아마 그냥 인스톨일겁니다.


잘 찾아서 클릭하면 이런 페이지로 이동됩니다.


599065830ed583fadc62818b9fc5eced.PNG


뭐 이건 기본으로 나둬도 되니 next 를 눌러서 넘어갑시다.


3beb6b0a0dfb878fc8180389740caff9.PNG


그럼 이런 화면이 나오는데


전 상단의 빨간색 바가 가리키는 체크 박스에  체크하는걸 추천합니다.


그리고 인스톨을 눌러서 설치합니다.


이렇게 되면 파이썬 설치는 완료된 겁니다.


0-2 구름 ide 이용하기


먼저 구름 ide 를 이용하려면 사이트에 들어가야 합니다.


구름 ide 공식 사이트 : https://ide.goorm.io/?_ga=2.125850244.863884522.1600431270-1293897263.1595137871


잠깐, 구름 ide 가 뭐냐고요?

구름 ide 에 대해 자세히 알아보기 => https://www.koreaminecraft.net/highquality/2017086


57af5484a4e9f1c6e71d2244f509a4e0.PNG


들어오면 이런 화면이 뜨게 됩니다.


일단 로그인을 해야겠죠


우측 상단에 로그인 버튼을 눌러줍시다.


dbb35a4379a2cd7997f474132323cc1f.PNG


뭐... 이미 있던 sns 계정으로 로그인하셔도 되고.


아니면 그냥 회원가입후 로그인 하셔도 됩니다.


설마 로그인하는 방법을 모르는 분이 계시진 않겠죠...


d21521977dea55db994f97090e4bc5ff.PNG


이 화면은 대시보드라는 이름의 화면인데


대시보드가 뭔지 대충 설명하자면


자기가 진행하는 **container들의 정보를 보고 들어갈 수 있는 곳입니다.


container는 인터넷에서 돌아가는 컴퓨터라고 생각하시면 됩니다.(별로 좋은 설명이 아니긴 하지만 이정도로 넘어가겠습니다)


bff2d355308a35d9b281896139554deb.PNG


밑으로 스크롤 하시면 새 컨테이너가 생성 가능하다고 합니다.


새 컨테이너 생성을 클릭하면 이런 화면이 뜹니다.


! 지금부터 나오는건 모두 같은 설정해주시면 강좌에 맞는 환경을 얻을 수 있습니다.

de0c4e21e85b13caf6f4791f35e159d2.PNG


이제 스크롤하면


a59d7c907e55f406fe39fbf538c62aa9.PNG


여기서는 파이썬


다시 밑으로 스크롤 하면


e7a0ddd3869faa4e89a554b113516d16.PNG


저 설정은 추후 강좌에 필요할수도 있을 것 같아서


일단 체크하겠습니다.


그럼 세팅이 끝났습니다.


8f24abd27910d5ebb8d253334bf8794e.PNG


대충 어떤 칸인지 설명해놨습니다.


코드 작성란말곤 아직 별로 안중요합니다.


 여기서 세팅은 끝내겠습니다.


저기에 있는 기능들은 나중에 차차 알아가겠습니다.


* customize installation 설치를 사용자에 맞게 하기

**  container 컨테이너, 화물칸



1) 파이썬 속성 강좌

 

파이썬 속성 강좌는 이 글을 보는 여러분들이.


코드 복사를 통한 생각 없는 프로그래밍을 하지 않았으면 하는 마음으로 진행하는 강좌입니다.


 당연히 제 발악으로 진행하는 강좌이기 때문에 내용은 짧고,


그로 인해 이해가 힘들 수 있습니다.


https://discord.gg/sfzhRSK

디스코드를 사용하신다면 스터디 방에서 도움을 받으실 수 있습니다.


디스코드를 사용하지 않으신다면 댓글로 간단한 질문은 답변해드릴 수 있습니다.


1-1 변수


변수는 저장입니다.


흔히 수학 문제를 풀때,


우린 숫자를 머리속 또는 종이 위에 적어놓고 저장하면서 풀죠.


컴퓨터도 문제를 풀때는 같은 방식을 사용합니다.


그럼 바로 파이썬에서의 변수 사용방법에 대해 알아보겠습니다.


a = 1


자... 중학생이신 분들은 변수의 개념에 대해 어느정도 아시겠죠?


파이썬에서 변수는 수학에서의 변수와 상당히 비슷하게 만들어졌습니다.


변수 이름 = 값 

이게 놀랍게도 끝입니다.


그럼 변수는 어떻게 사용할까요?


간단합니다. 변수 이름을 쓰면 됩니다.


변수의 이름을 썻다는건 그 자리에 있는 것은 이제 더이상,


변수가 아니라 그냥 변수에 있는 값이라고 생각하시면 됩니다.


일단 변수에 대해선 이정도면 충분합니다.


변수는 결국 값을 저장하는 겁니다.


1-2 함수


함수는 아주 이해하기 쉽습니다.


함수를 한번 마법의 함이라고 생각해볼게요.


마법의 함에다 값을 넣고,


닫은뒤 다시 열면?


값이 바뀌어있죠. 마법의 함이 바로 함수입니다.


값을 가공 하거나 사용하기 위한 명령문의 모음이라고 생각하시면 되겠네요.


자 개념은 이쯤이면 다 되었을 것 같네요, 함수 사용법에 대해서 알아보겠습니다.


def funcAddOne(x):
    return x + 1

자.. 해석이 안되시죠?


그럼 이번엔 한글로 바꿔서 다시 형식을 보여드리겠습니다.


def funcAddOne -> 함수 이름 (x -> 매개변수들):
    return x + 1

자... *def 옆에 바로 쓰여있는건


함수의 이름입니다.


그리고 x 는 매개변수로 앞서 말했던,


마법의 함 안에 넣은 값이라고 보면 됩니다.


또한 마지막 줄의 **return x + 1은 


매개변수 x 의 값 + 1 의 값을 내보내겠다는 뜻입니다.


* define(def 는 define 의 줄임말) 정의하다 

** return 되돌리다, 반환하다


자.. 이로써 오늘의 파이썬 속성강좌는 이쯤에 마무리하게 되었습니다.


2)  디스코드 봇 강좌


이제부터 본격적인 봇 강좌를 시작합니다.


짝짝짝....


은 아니죠.. 봇 제작은 파이썬의 심화 개념들도


들어가 있기 때문에 사실 벌써부터 


디코봇을 제작한다는건 그리 좋은 생각이 아닙니다.


뭐 하지만 전 그걸 해내는 걸 목표로 여기까지 달려왔으니


바로 시작해보죠.


2-1 세팅


먼저 파이썬을 직접 컴퓨터에 깔아서 쓰는 분이시면.


검색창에 cmd 를 검색 후 "명령 프롬포트" 를 클릭합니다.


py -3 -m pip install discord.py


을 창에 입력하면 받아집니다.


그럼 

import discord

가 가능하죠.



그럼 이제 구름 edu 로 넘어가보겠습니다.


pip install discord.py


를 터미널에 입력하여 다운받아줍니다.


그럼 이제 구름 ide 에서도


import discord

가 가능해집니다.


세팅은 끝입니다!


2 -2 ping pong 봇 만들기


핑퐁 봇은 간단한 프로그램이자 기본적인


사용방법을 알아보는데 도움이 됩니다.


import discord


def funcAddOne(x):
    return x + 1

# 토큰을 가져오는 함수
def getToken():
    token = input("토큰:")
    return token


# 클라이언트 개체를 받아서 비동기 함수들을 사용합니다.
client = discord.Client()


# 봇이 사용 준비되었을때 호출되는 비동기 함수 on_ready
@client.event
async def on_ready():
    print("봇이 사용 준비되었습니다.")


# 봇이 감지해서 메세지가 올라오면 호출되는 비동기 함수 on_message
@client.event
async def on_message(message: discord.message):
    # 만약 메세지가 봇이 보낸 메세지일 경우 리턴
    if message.author.bot:
        return

    if message.content == "ping":
        await message.channel.send("pong")


client.run(getToken())

자 입벌리세요 코드 들어갑니다!


한번 실행해보세요 바로 복사하고.


근데 토큰을 입력하라고 하죠?


분명 여러분들은 토큰이라는 단어를 아직 이 강의에서


못들어보셨을 텐데 말이죠.


디스코드 봇은


토큰이라는 하나의 코드로 이루어진 연결망을 타고 디스코드에서 활동 가능한겁니다.


즉 출입구를 만들어줘야 한다는 말이죠.


https://discord.com/developers/applications


이동해줍시다.


디스코드 로그인은 당연히 하셔야 하고


로그인을 하게 되면


이런 창이 뜨게 될겁니다.


4dbabdde3ab3d68460ce4248bb9ec67f.PNG


우측 상단의 *new application 을 눌러주세요.


그럼 이름을 입력하는 창이 뜨고.


원하는 이름을 입력해서 이런 창으로 이동합니다.


67a4c953fee7eaee0885e0eba280d477.PNG


이제 Add**bot 을 눌러줍시다.


f81665787c2a1c065a33afa5a501c677.PNG


누르게 되면 이런 화면이 나오게 됩니다.


# 참고로 test 라는 이름의 봇이 너무 많은 관계로 봇이 생성이 안되기 때문에  "ㅅㅅ" 이라는 이름으로 바궜습니다. (ㅅㅅ 은 그냥 타이핑 하다가 막 적은 글자로 다른 글자들의 초성과는 전혀 관련 없습니다)


274e9ab492841996107ab8b16245eefc.PNG



빨간색으로 쳐진 파란 글자를 눌러서


토큰을 보고 복사해서 가지고 있겠습니다.


이제 봇을 디코섭에 추가해 보죠.


2618a7750500bddf1f06f1eeee201cde.PNG


이번엔 OAuth2 라는 칸을 눌러서


이런 창으로 이동합시다.


6dd9295dd023eb6abb2d0ccd32f03c72.PNG


bot 체크 후


1a703f2831f03422ec6aa8f8ae0ff9ca.PNG



***Administer 체크 후 링크 복사해서 


브라우저 상단에 붙여넣고 봇 등록 사이트로 들어갑니다.


뭐... 봇 등록은 대충 계속 확인 누르면 되는 거기 때문에 자세한 설명은 스킵하고.


import discord


def funcAddOne(x):
    return x + 1

# 토큰을 가져오는 함수
def getToken():
    token = input("토큰:")
    return token


# 클라이언트 개체를 받아서 비동기 함수들을 사용합니다.
client = discord.Client()


# 봇이 사용 준비되었을때 호출되는 비동기 함수 on_ready
@client.event
async def on_ready():
    print("봇이 사용 준비되었습니다.")


# 봇이 감지해서 메세지가 올라오면 호출되는 비동기 함수 on_message
@client.event
async def on_message(message: discord.message):
    # 만약 메세지가 봇이 보낸 메세지일 경우 리턴
    if message.author.bot:
        return

    if message.content == "ping":
        await message.channel.send("pong")


client.run(getToken())

이제 이 코드 입력후 실행하고


아까 복사했던 토큰을 붙여넣기 해서 입력 한다음


"봇이 사용 준비되었습니다." 라는 메세지가 뜨면


봇이 등록된 서버의 채널에서


ping 이라고 치면 pong 이라고 대답하는 봇이


만들어진걸  확인할 수 있습니다.


ba9678bd66ef1ffd8818225d1ebf378f.PNG


위의 코드에 관해서는 다음 강좌에서 자세한 해석을 할 예정이니 기다려 주시면 감사하겠습니다.


*new application 새 애플리케이션 

** bot 봇(로봇, 디스코드에선 일반적으로 채팅 매크로 시스템이랑 비슷)

 

3. 정리


하... 오늘은 첫 강의라 세팅, 기본적인 사용 관련해서 강의가 있어서 사진도 많고 좀 내용이 많네요.


오늘 배운 내용은


변수는 값


함수는 값을 원하는대로 바꿔주는 장치


디스코드 봇 등록 밑 사용법


파이썬 설치법


goorm ide 사용법


이네요 여기서 진짜로 이번 강좌를 마무리짓겠습니다!


다음주에 다시 찾아올게요 !!


3-1 기타 다른 도움을 받을 수 있는 곳


https://discord.gg/sfzhRSK  

도움을 얻을수 있는 강좌 공식 디스코드 방입니다.


교육이 아닌 다른 목적으로 진행되는 홍보는 아니라는 점 알려드립니다.


또한 댓글로 간단한 질문은 답변해드릴 수 있습니다.

1개의 댓글

승규ㅣrunkan
2020.09.19

강좌가 정말 좋네요.

고퀄리티!

뉴스 및 창작물
/files/thumbnails/477/930/003/262x150.crop.jpg?20241201030912

레드스톤

뉴진스 - Super Shy | 마크 노트블럭 커버

노트블럭전문가

2024-12-01

0

/files/thumbnails/483/916/003/262x150.crop.jpg?20241127115329

레드스톤

[노트블럭 커버] 뉴진스 - ETA 3

노트블럭전문가

2024-11-27

1

/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ? 1

팀뉴일리시

2024-11-23

5

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 6

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2