왜 만드냐?
24시간 값싸게 돌릴 수 있는 라즈베리파이가 있고, 요즘 디스코드 음악봇들이 너무 자주 끊겨서 직접 만들어보기로 했다.
사실 시험이 끝나서다.
어떤 언어로 만들 것인가?
아직 프로그래밍을 제대로 배운 적은 없지만 그나마 써본 언어중에서 가장 코드가 짧았던 파이썬을 쓰기로 했다.
나는 타자가 70타 언저리기 때문에 파이썬을 쓸 것이다.
그리고 난 신세대기 때문에 python3를 쓴다.
라이브러리부터 받아보자
python3 -m pip install --upgrade pip
python -m pip install --upgrade pip
cmd같은데다가 위에꺼중에 되는걸로 pip를 업그레이드 한다.
python3 -m pip install discord
python -m pip install discord
그리고 discord.py를 받는다.
파이썬을 설치할 때 광고프로그램 따라오는줄 알고 PATH에 추가를 체크하지 않았다면,
파이썬이 설치된 폴더를 찾아가서 python.exe의 경로를 복사한다.
그리고 python대신에 그 주소를 넣어주면 될 것 같다.
"C:\Python\Python36\python.exe" -m pip install discord
난 안해봐서 모른다. 그러니 안되면 검색을 하도록 하자.
어떤식으로 만들면 될지 감을 잡아보자
https://discordapp.com/developers/applications/me
디스코드 앱을 만들 수 있는 사이트고
http://discordpy.readthedocs.io/en/latest/index.html
만들 때 참고할만한 사이트다.
그리고 적당적당히 남의코드를 뒤져본 결과
discord.ext에서 commands를 불러오고
commands.Bot()이라는 놈을 하나 만들고
@"그 놈".command()라는 데코레이터를 이용해 함수를 정의하면
디스코드 채팅에서 명령어를 이용해 함수를 실행할 수 있는 것 같다.
이렇게 써두면 직접 쓴 나도 못알아 먹으니 코드...코드를 보자!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from discord.ext import commands bot = commands.Bot(command_prefix='!') @bot.event async def on_ready(): print('logged in as \nname: {}\n id: {}'.format(bot.user.name, bot.user.id)) print('='*80) @bot.command(pass_context=True) async def hello(ctx): for i in range(5): await bot.say('hello {}'.format(ctx.message.author.name)) bot.run('봇의 토오오오오오오오크으으으으으은') | cs |
!hello라고 채팅창에 입력하면
봇이 내 이름을 5번 쌔빠지게 외칠 것이다.
'하라는 공부는 안하고 > 파이썬하고있네' 카테고리의 다른 글
디스코드 봇으로 노래를 틀어보자 (0) | 2018.04.29 |
---|---|
버튼을 클릭하면 복사가 되는 gui(tkinter) (0) | 2016.01.01 |
파이썬으로 웹사이트 읽어오기(urllib) (1) | 2016.01.01 |
파이썬, 오류로 닫힐때 창 유지하기 (1) | 2014.04.16 |