파이썬으로 일방적으로 통지하는 discot bot 만들기 (requests, json 만 사용)
내용
파이썬을 사용한 discord bot를 만들면 크게 나누어 두 가지 유형이있는 것 같습니다.
webhook URL 획득
채널마다 취득이 필요합니다.
이 페이지의 「Webhook URL을 취득」이 참고가 됩니다.
옵션 설정은 코드로 할 수 있으므로 패스해도 좋다.
간단한 버전
가장 심플한 구성은 이하.
import requests, json
webhook_url = 'さっき取得したWebhook URL'
main_content = {'content': '送るテキスト'}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
전송 성공!
bot의 외형
bot의 외형은 코드내에서 다음과 같이 정의할 수 있습니다.
아이콘을 설정하려면 이미지 URL이 필요합니다. 아래에서는 트위터 계정 아이콘의 URL을 제공합니다.
로컬의 이미지 파일의 경우는, Webhook URL 취득시에 설정하는 것 외 없음?
import requests, json
webhook_url = 'さっき取得したWebhook URL'
main_content = {
'username': 'お名前',
'avatar_url': '画像のURL',
'content': 'テキスト'
}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
전송 성공!
메시지의 모습을 보고 싶다
임베디드(embeds)를 사용합니다. 자세한 내용은 여기 .
예를 이하에 줍니다.
import requests, json
webhook_url = 'さっき取得したWebhook URL'
embeds = [
{
'description': 'googleのページ',
'color': 15146762,
'image': {
'url': '画像のURL'
}
}
]
main_content = {
'username': 'お名前',
'avatar_url': '画像のURL',
'content': 'テキスト',
'embeds': embeds
}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
이런 외형이 됩니다.
왼쪽 세로 막대의 색은 embeds
의 color
로 설정합니다.
숫자와 색의 대응은 여기 "Color Mixer"의 막대를 움직여 표시하고 싶은 색을 찾아, "Decimal:"의 오른쪽의 숫자를 주어 주세요.
함수로 사용
예를 들면 이런 느낌입니다.
텍스트만 보낼 때는 channel
, content
만 인수를 줍니다.
포함을 사용하고 싶을 때는, 필요한 정보를 emb
로 줍니다.
emb = {
'description': '埋め込み内テキスト',
'color': '色',
'img_url': '画像URL',
'content': '本文'
}
def send_discord_msg(channel, content, emb=0):
webhook_dic = {'channel 1': 'channel 1のWebhook URL',
'channel 2': 'channel 2のWebhook URL'}
webhook_url = webhook_dic[channel]
main_content = {
'username': 'botの名前',
'avatar_url': 'アイコンURL',
'content': content
}
if emb != 0:
color_dic = {
'色1': 15146762,
'色2': 49356,
}
embeds = [
{
'description': emb['description'],
"color": color_dic[emb['color']],
"image": {
"url": emb['img_url']
},
}
]
main_content.update({'embeds': embeds})
main_content['content'] = emb['content']
headers = {'Content-Type': 'application/json'}
try:
res = requests.post(webhook_url, json.dumps(main_content), headers=headers)
except Exception as e:
print(e)
Reference
이 문제에 관하여(파이썬으로 일방적으로 통지하는 discot bot 만들기 (requests, json 만 사용)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/iroiro_bot/items/48e8a8a9754aacaf7ec9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import requests, json
webhook_url = 'さっき取得したWebhook URL'
main_content = {'content': '送るテキスト'}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
bot의 외형은 코드내에서 다음과 같이 정의할 수 있습니다.
아이콘을 설정하려면 이미지 URL이 필요합니다. 아래에서는 트위터 계정 아이콘의 URL을 제공합니다.
로컬의 이미지 파일의 경우는, Webhook URL 취득시에 설정하는 것 외 없음?
import requests, json
webhook_url = 'さっき取得したWebhook URL'
main_content = {
'username': 'お名前',
'avatar_url': '画像のURL',
'content': 'テキスト'
}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
전송 성공!
메시지의 모습을 보고 싶다
임베디드(embeds)를 사용합니다. 자세한 내용은 여기 .
예를 이하에 줍니다.
import requests, json
webhook_url = 'さっき取得したWebhook URL'
embeds = [
{
'description': 'googleのページ',
'color': 15146762,
'image': {
'url': '画像のURL'
}
}
]
main_content = {
'username': 'お名前',
'avatar_url': '画像のURL',
'content': 'テキスト',
'embeds': embeds
}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
이런 외형이 됩니다.
왼쪽 세로 막대의 색은 embeds
의 color
로 설정합니다.
숫자와 색의 대응은 여기 "Color Mixer"의 막대를 움직여 표시하고 싶은 색을 찾아, "Decimal:"의 오른쪽의 숫자를 주어 주세요.
함수로 사용
예를 들면 이런 느낌입니다.
텍스트만 보낼 때는 channel
, content
만 인수를 줍니다.
포함을 사용하고 싶을 때는, 필요한 정보를 emb
로 줍니다.
emb = {
'description': '埋め込み内テキスト',
'color': '色',
'img_url': '画像URL',
'content': '本文'
}
def send_discord_msg(channel, content, emb=0):
webhook_dic = {'channel 1': 'channel 1のWebhook URL',
'channel 2': 'channel 2のWebhook URL'}
webhook_url = webhook_dic[channel]
main_content = {
'username': 'botの名前',
'avatar_url': 'アイコンURL',
'content': content
}
if emb != 0:
color_dic = {
'色1': 15146762,
'色2': 49356,
}
embeds = [
{
'description': emb['description'],
"color": color_dic[emb['color']],
"image": {
"url": emb['img_url']
},
}
]
main_content.update({'embeds': embeds})
main_content['content'] = emb['content']
headers = {'Content-Type': 'application/json'}
try:
res = requests.post(webhook_url, json.dumps(main_content), headers=headers)
except Exception as e:
print(e)
Reference
이 문제에 관하여(파이썬으로 일방적으로 통지하는 discot bot 만들기 (requests, json 만 사용)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/iroiro_bot/items/48e8a8a9754aacaf7ec9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import requests, json
webhook_url = 'さっき取得したWebhook URL'
embeds = [
{
'description': 'googleのページ',
'color': 15146762,
'image': {
'url': '画像のURL'
}
}
]
main_content = {
'username': 'お名前',
'avatar_url': '画像のURL',
'content': 'テキスト',
'embeds': embeds
}
headers = {'Content-Type': 'application/json'}
response = requests.post(webhook_url, json.dumps(main_content), headers=headers)
예를 들면 이런 느낌입니다.
텍스트만 보낼 때는
channel
, content
만 인수를 줍니다.포함을 사용하고 싶을 때는, 필요한 정보를
emb
로 줍니다.emb = {
'description': '埋め込み内テキスト',
'color': '色',
'img_url': '画像URL',
'content': '本文'
}
def send_discord_msg(channel, content, emb=0):
webhook_dic = {'channel 1': 'channel 1のWebhook URL',
'channel 2': 'channel 2のWebhook URL'}
webhook_url = webhook_dic[channel]
main_content = {
'username': 'botの名前',
'avatar_url': 'アイコンURL',
'content': content
}
if emb != 0:
color_dic = {
'色1': 15146762,
'色2': 49356,
}
embeds = [
{
'description': emb['description'],
"color": color_dic[emb['color']],
"image": {
"url": emb['img_url']
},
}
]
main_content.update({'embeds': embeds})
main_content['content'] = emb['content']
headers = {'Content-Type': 'application/json'}
try:
res = requests.post(webhook_url, json.dumps(main_content), headers=headers)
except Exception as e:
print(e)
Reference
이 문제에 관하여(파이썬으로 일방적으로 통지하는 discot bot 만들기 (requests, json 만 사용)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/iroiro_bot/items/48e8a8a9754aacaf7ec9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)