Python으로 Discord 봇 샘플 만들기 (rewrite 버전)
(※rewrite판이라고 불리고 있던 것이 discord.py가 되었습니다)
대상
Python도 Discord Bot도 처음이 대상입니다.
이번에 만드는 것
Discord에서 "! 자고 싶다"라고 입력하면 ""사용자 이름"씨 자자"라고 대답을하는 간단한 Bot을 만듭니다
※이 페이지에서는 rewrite판(async판을 새롭게 재기록한 것)으로 Bot를 만듭니다.
기존의 async 버전에서 Bot을 만들고 싶다면 Python으로 간단한 Discord Bot을 만드는 방법을 참조하십시오.
이 기사를 쓸 때의 환경
(2019/03/06)
- Windows 10
- Pycharm (Python 코드를 작성하는 환경)
- 파이썬 3.7.2
- discord.py 1.0.0a (rewrite 버전)
Discord란?
Discord는 무료 게이머를위한 채팅 및 음성 통화 도구입니다.
미리 해 두는 것
Discord에서 "! 자고 싶다"라고 입력하면 ""사용자 이름"씨 자자"라고 대답을하는 간단한 Bot을 만듭니다
※이 페이지에서는 rewrite판(async판을 새롭게 재기록한 것)으로 Bot를 만듭니다.
기존의 async 버전에서 Bot을 만들고 싶다면 Python으로 간단한 Discord Bot을 만드는 방법을 참조하십시오.
이 기사를 쓸 때의 환경
(2019/03/06)
- Windows 10
- Pycharm (Python 코드를 작성하는 환경)
- 파이썬 3.7.2
- discord.py 1.0.0a (rewrite 버전)
Discord란?
Discord는 무료 게이머를위한 채팅 및 음성 통화 도구입니다.
미리 해 두는 것
Discord는 무료 게이머를위한 채팅 및 음성 통화 도구입니다.
미리 해 두는 것
Python을 Windows에 설치
Python을 Windows에 설치 를 참고로 도입해 주십시오.
discord.py 설치
discord.py를 설치합니다.
$ python3 -m pip install -U https://github.com/Rapptz/discord.py/archive/rewrite.zip
↓(2019/04/09)discord.py가 정식 릴리스 되었기 때문에 기술이 바뀌었습니다.
(아래의 방법으로 설치하십시오)
$ python3 -m pip install -U discord.py
Bot용 토큰을 받으세요.
Discord의 개발자 사이트 로 이동하여 새 Bot을 등록하십시오
왼쪽의 Bot 필드를 선택하고 Create를 누릅니다.
그런 다음 TOKEN 열로 가서 Copy를 클릭합니다.
(이것을 나중에 사용하므로 메모장 당 붙여 넣어주세요)
마지막으로 OAuth2 열로 이동합니다.
bot를 선택하고 Copy를 누릅니다.
WWW 브라우저의 주소란에 붙여넣으면 다음 화면이 표시됩니다.
배포할 서버를 선택합니다.
코드 작성
1. 아래의 코드 부분을 모두 복사하십시오.
2. 하단 줄의 "액세스 토큰"에 Bot 토큰을 붙여 넣습니다.
3. UTF-8 형식으로 저장하십시오
4. 저장
main.pyimport discord
import random # おみくじで使用
client = discord.Client() # 接続に使用するオブジェクト
@client.event
async def on_ready():
"""起動時に通知してくれる処理"""
print('ログインしました')
print(client.user.name) # ボットの名前
print(client.user.id) # ボットのID
print(discord.__version__) # discord.pyのバージョン
print('------')
@client.event
async def on_message(message):
"""メッセージを処理"""
if message.author.bot: # ボットのメッセージをハネる
return
if message.content == "!眠たい":
# チャンネルへメッセージを送信
await message.channel.send(f"{message.author.mention}さん 寝ましょう") # f文字列(フォーマット済み文字列リテラル)
elif message.content == "!投票":
# リアクションアイコンを付けたい
q = await message.channel.send("あなたは右利きですか?")
[await q.add_reaction(i) for i in ('⭕', '❌')] # for文の内包表記
elif message.content == "!おみくじ":
# Embedを使ったメッセージ送信 と ランダムで要素を選択
embed = discord.Embed(title="おみくじ", description=f"{message.author.mention}さんの今日の運勢は!",
color=0x2ECC69)
embed.set_thumbnail(url=message.author.avatar_url)
embed.add_field(name="[運勢] ", value=random.choice(('大吉', '吉', '凶', '大凶')), inline=False)
await message.channel.send(embed=embed)
elif message.content == "!ダイレクトメッセージ":
# ダイレクトメッセージ送信
dm = await message.author.create_dm()
await dm.send(f"{message.author.mention}さんにダイレクトメッセージ")
# botの接続と起動
# (botアカウントのアクセストークンを入れてください)
client.run("アクセストークン")
실행해 보자.
저장된 파일을 명령 프롬프트에서 실행해 봅시다.
$ python main.py
ログインしました
ボットの名前
ボットのID
discord.pyのバージョン
------
이것이 표시되면 기동·로그인에 성공하고 있습니다.
마지막으로 Discord의 Bot이 있는 서버의 텍스트 채널에서 「!졸고 싶다」라고 치면 대답이 돌아옵니다.
관련
Python으로 Discord 봇을 만들 때 FAQ
htps : // 이 m/에서 f/이고 ms/7d52c95c94268627b618
참고
Python으로 간단한 Discord Bot을 만드는 방법
(내가 처음으로 Bot를 도입했을 때 매우 참고로 했습니다)
htps : // 코 m / 피나 p 푼 r / ms / 아 f4 cd b04727437477f
Python을 Windows에 설치
htps : // 이 m / psy 작은 d / ms / 9930 871fb8169A 91f9A
Reference
이 문제에 관하여(Python으로 Discord 봇 샘플 만들기 (rewrite 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Karaf/items/f1032ef9806a10ba161e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
discord.py를 설치합니다.
$ python3 -m pip install -U https://github.com/Rapptz/discord.py/archive/rewrite.zip
↓(2019/04/09)discord.py가 정식 릴리스 되었기 때문에 기술이 바뀌었습니다.
(아래의 방법으로 설치하십시오)
$ python3 -m pip install -U discord.py
Bot용 토큰을 받으세요.
Discord의 개발자 사이트 로 이동하여 새 Bot을 등록하십시오
왼쪽의 Bot 필드를 선택하고 Create를 누릅니다.
그런 다음 TOKEN 열로 가서 Copy를 클릭합니다.
(이것을 나중에 사용하므로 메모장 당 붙여 넣어주세요)
마지막으로 OAuth2 열로 이동합니다.
bot를 선택하고 Copy를 누릅니다.
WWW 브라우저의 주소란에 붙여넣으면 다음 화면이 표시됩니다.
배포할 서버를 선택합니다.
코드 작성
1. 아래의 코드 부분을 모두 복사하십시오.
2. 하단 줄의 "액세스 토큰"에 Bot 토큰을 붙여 넣습니다.
3. UTF-8 형식으로 저장하십시오
4. 저장
main.pyimport discord
import random # おみくじで使用
client = discord.Client() # 接続に使用するオブジェクト
@client.event
async def on_ready():
"""起動時に通知してくれる処理"""
print('ログインしました')
print(client.user.name) # ボットの名前
print(client.user.id) # ボットのID
print(discord.__version__) # discord.pyのバージョン
print('------')
@client.event
async def on_message(message):
"""メッセージを処理"""
if message.author.bot: # ボットのメッセージをハネる
return
if message.content == "!眠たい":
# チャンネルへメッセージを送信
await message.channel.send(f"{message.author.mention}さん 寝ましょう") # f文字列(フォーマット済み文字列リテラル)
elif message.content == "!投票":
# リアクションアイコンを付けたい
q = await message.channel.send("あなたは右利きですか?")
[await q.add_reaction(i) for i in ('⭕', '❌')] # for文の内包表記
elif message.content == "!おみくじ":
# Embedを使ったメッセージ送信 と ランダムで要素を選択
embed = discord.Embed(title="おみくじ", description=f"{message.author.mention}さんの今日の運勢は!",
color=0x2ECC69)
embed.set_thumbnail(url=message.author.avatar_url)
embed.add_field(name="[運勢] ", value=random.choice(('大吉', '吉', '凶', '大凶')), inline=False)
await message.channel.send(embed=embed)
elif message.content == "!ダイレクトメッセージ":
# ダイレクトメッセージ送信
dm = await message.author.create_dm()
await dm.send(f"{message.author.mention}さんにダイレクトメッセージ")
# botの接続と起動
# (botアカウントのアクセストークンを入れてください)
client.run("アクセストークン")
실행해 보자.
저장된 파일을 명령 프롬프트에서 실행해 봅시다.
$ python main.py
ログインしました
ボットの名前
ボットのID
discord.pyのバージョン
------
이것이 표시되면 기동·로그인에 성공하고 있습니다.
마지막으로 Discord의 Bot이 있는 서버의 텍스트 채널에서 「!졸고 싶다」라고 치면 대답이 돌아옵니다.
관련
Python으로 Discord 봇을 만들 때 FAQ
htps : // 이 m/에서 f/이고 ms/7d52c95c94268627b618
참고
Python으로 간단한 Discord Bot을 만드는 방법
(내가 처음으로 Bot를 도입했을 때 매우 참고로 했습니다)
htps : // 코 m / 피나 p 푼 r / ms / 아 f4 cd b04727437477f
Python을 Windows에 설치
htps : // 이 m / psy 작은 d / ms / 9930 871fb8169A 91f9A
Reference
이 문제에 관하여(Python으로 Discord 봇 샘플 만들기 (rewrite 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Karaf/items/f1032ef9806a10ba161e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. 아래의 코드 부분을 모두 복사하십시오.
2. 하단 줄의 "액세스 토큰"에 Bot 토큰을 붙여 넣습니다.
3. UTF-8 형식으로 저장하십시오
4. 저장
main.py
import discord
import random # おみくじで使用
client = discord.Client() # 接続に使用するオブジェクト
@client.event
async def on_ready():
"""起動時に通知してくれる処理"""
print('ログインしました')
print(client.user.name) # ボットの名前
print(client.user.id) # ボットのID
print(discord.__version__) # discord.pyのバージョン
print('------')
@client.event
async def on_message(message):
"""メッセージを処理"""
if message.author.bot: # ボットのメッセージをハネる
return
if message.content == "!眠たい":
# チャンネルへメッセージを送信
await message.channel.send(f"{message.author.mention}さん 寝ましょう") # f文字列(フォーマット済み文字列リテラル)
elif message.content == "!投票":
# リアクションアイコンを付けたい
q = await message.channel.send("あなたは右利きですか?")
[await q.add_reaction(i) for i in ('⭕', '❌')] # for文の内包表記
elif message.content == "!おみくじ":
# Embedを使ったメッセージ送信 と ランダムで要素を選択
embed = discord.Embed(title="おみくじ", description=f"{message.author.mention}さんの今日の運勢は!",
color=0x2ECC69)
embed.set_thumbnail(url=message.author.avatar_url)
embed.add_field(name="[運勢] ", value=random.choice(('大吉', '吉', '凶', '大凶')), inline=False)
await message.channel.send(embed=embed)
elif message.content == "!ダイレクトメッセージ":
# ダイレクトメッセージ送信
dm = await message.author.create_dm()
await dm.send(f"{message.author.mention}さんにダイレクトメッセージ")
# botの接続と起動
# (botアカウントのアクセストークンを入れてください)
client.run("アクセストークン")
실행해 보자.
저장된 파일을 명령 프롬프트에서 실행해 봅시다.
$ python main.py
ログインしました
ボットの名前
ボットのID
discord.pyのバージョン
------
이것이 표시되면 기동·로그인에 성공하고 있습니다.
마지막으로 Discord의 Bot이 있는 서버의 텍스트 채널에서 「!졸고 싶다」라고 치면 대답이 돌아옵니다.
관련
Python으로 Discord 봇을 만들 때 FAQ
htps : // 이 m/에서 f/이고 ms/7d52c95c94268627b618
참고
Python으로 간단한 Discord Bot을 만드는 방법
(내가 처음으로 Bot를 도입했을 때 매우 참고로 했습니다)
htps : // 코 m / 피나 p 푼 r / ms / 아 f4 cd b04727437477f
Python을 Windows에 설치
htps : // 이 m / psy 작은 d / ms / 9930 871fb8169A 91f9A
Reference
이 문제에 관하여(Python으로 Discord 봇 샘플 만들기 (rewrite 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Karaf/items/f1032ef9806a10ba161e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ python main.py
ログインしました
ボットの名前
ボットのID
discord.pyのバージョン
------
Python으로 Discord 봇을 만들 때 FAQ
htps : // 이 m/에서 f/이고 ms/7d52c95c94268627b618
참고
Python으로 간단한 Discord Bot을 만드는 방법
(내가 처음으로 Bot를 도입했을 때 매우 참고로 했습니다)
htps : // 코 m / 피나 p 푼 r / ms / 아 f4 cd b04727437477f
Python을 Windows에 설치
htps : // 이 m / psy 작은 d / ms / 9930 871fb8169A 91f9A
Reference
이 문제에 관하여(Python으로 Discord 봇 샘플 만들기 (rewrite 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Karaf/items/f1032ef9806a10ba161e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Python으로 Discord 봇 샘플 만들기 (rewrite 버전)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Karaf/items/f1032ef9806a10ba161e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)