오늘은 !실검, !번역 기능을 개선하였다.
!실검 명령어의 개선하기전 모습이다.
링크가 그대로 보이기에 약간 산만해보인다.
!실검 개선후 모습
개선후 텍스트 겸 하이퍼링크를 겸해서 짧고 보기좋게 만들었다.
if message.content.startswith('!실시간검색어') or message.content.startswith('!실검'):
url = "https://www.naver.com/"
html = urllib.request.urlopen(url)
bsObj = bs4.BeautifulSoup(html, "html.parser")
realTimeSerach1 = bsObj.find('div', {'class': 'ah_roll_area PM_CL_realtimeKeyword_rolling'})
realTimeSerach2 = realTimeSerach1.find('ul', {'class': 'ah_l'})
realTimeSerach3 = realTimeSerach2.find_all('li')
embed = discord.Embed(
title='네이버 실시간 검색어',
description='실시간검색어',
colour=discord.Colour.green()
)
for i in range(0,20):
realTimeSerach4 = realTimeSerach3[i]
realTimeSerach5 = realTimeSerach4.find('span', {'class': 'ah_k'})
realTimeSerach = realTimeSerach5.text.replace(' ', '')
realURL = 'https://search.naver.com/search.naver?ie=utf8&query='+realTimeSerach
print(realTimeSerach)
embed.add_field(name=str(i+1)+'위', value='\n'+'[%s](<%s>)' % (realTimeSerach, realURL), inline=False) # [텍스트](<링크>) 형식으로 적으면 텍스트 하이퍼링크 만들어집니다
await client.send_message(message.channel, embed=embed)
[텍스트](<링크>) 형식으로 적으면 텍스트 하이퍼링크가 만들어진다는 것 을 알게되었다.
이것을 이용하여 텍스트 겸 바로가기 링크로 만들었다.
다음은 번역이다.
개선전에는 단순 링크형식으로만 보냈기때문에 링크를 타고들어가야하는 번거로움이 생긴다.
그래서 네이버 파파고 번역기 API 를 이용하여 새롭게 개선해보았다.
!번역 기능 개선 후 실행모습
개선 후 바로바로 텍스트로 출력하게 만들었다.
if message.content.startswith('!번역'):
learn = message.content.split(" ")
Text = ""
client_id = ""
client_secret = ""
url = "https://openapi.naver.com/v1/papago/n2mt"
print(len(learn))
vrsize = len(learn) # 배열크기
vrsize = int(vrsize)
for i in range(1, vrsize): #띄어쓰기 한 텍스트들 인식함
Text = Text+" "+learn[i]
encText = urllib.parse.quote(Text)
data = "source=ko&target=en&text=" + encText
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id", client_id)
request.add_header("X-Naver-Client-Secret", client_secret)
response = urllib.request.urlopen(request, data=data.encode("utf-8"))
rescode = response.getcode()
if (rescode == 200):
response_body = response.read()
data = response_body.decode('utf-8')
data = json.loads(data)
tranText = data['message']['result']['translatedText']
else:
print("Error Code:" + rescode)
print('번역된 내용 :', tranText)
embed = discord.Embed(
title='한글->영어 번역결과',
description=tranText,
colour=discord.Colour.green()
)
await client.send_message(message.channel,embed=embed)
번역 기능을 개선할때 import 한 것들 :
import os
import sys
import json
API를 활용하니 확실히 편하다..
디스코드 봇 소스 파일입니다.
'디스코드 봇 개발일지' 카테고리의 다른 글
디스코드 자작봇 개발일지#12 (0) | 2018.10.30 |
---|---|
디스코드 자작봇 개발일지#11 (0) | 2018.10.30 |
디스코드 자작봇 개발일지#9 (0) | 2018.10.30 |
디스코드 자작봇 개발일지#8 (0) | 2018.10.30 |
디스코드 자작봇 개발일지#7 (0) | 2018.10.30 |