async def tts(self, ctx, *args): if len(args) == 0: await self.bot.say("말할 내용을 추가로 입력해주세용") return ttsText = " ".join([arg for arg in args]) encText = urllib.parse.quote(ttsText) data = "speaker=jinho&speed=0&text=" + encText url = "https://openapi.naver.com/v1/voice/tts.bin" http = HTTPHandler() response = http.post(url, self.naverClient, data) rescode = response.getcode() if (rescode == 200): response_body = response.read() millis = int(time.time() * 1000) fileDir = './temp/{}_{}.mp3'.format(ctx.message.server.id, millis) with open(fileDir, 'wb') as f: f.write(response_body) await Sound.instance.play(ctx, MusicType.TTS, fileDir, ttsText) else: self.bot.say("음성 다운로드에 실패했어용")
async def translate(self, lang, url, text, channel): self.bot.send_typing(channel) translateLangToEn = {"영어": "en", "중국어": "zh-CN", "일본어": "ja"} translateFlag = {"영어": '🇺🇸', "중국어": '🇨🇳', "일본어": '🇯🇵'} encText = urllib.parse.quote(text) data = "source=ko&target={}&text=".format( translateLangToEn[lang]) + encText http = HTTPHandler() response = http.post(url, self.naverClient, data) rescode = response.getcode() if (rescode == 200): response_body = response.read().decode("utf-8") response_body = json.loads(response_body) em = discord.Embed(description="{} {}".format( translateFlag[lang], response_body["message"]["result"]["translatedText"]), colour=0xDEADBF) await self.bot.send_message(channel, embed=em) else: await self.bot.say("오류가 발생했어용\n{}".format( response.read().decode("utf-8")))