I present to you a bot for Telegram, which translate your any language text into Ukrainian voice speech🇺🇦!
Try it now >> @inukrainian <<
The following libraries have been used:
- aiogram – Async telegram bot framework
- googletrans – google translator ajax api
- gtts – voice synthesizer from google translator
There is main function code:
async def command_start(message : types.Message):
userid = message.chat.id
user_first_name = str(message.chat.first_name)
user_last_name = str(message.chat.last_name)
user_username = str(message.chat.username)
typed = message.text
translated = translator.translate(typed, dest='uk')
print(translated.text)
strippedtext = translated.text[:200]
myobj = gTTS(text=strippedtext, lang=language, slow=False)
myobj.save(f"{userid}welcome.mp3")
os.system(f'cmd /c ffmpeg -i {userid}welcome.mp3 -c:a libopus -b:a 32k -vbr on -compression_level 10 -frame_duration 60 -application voip -y {userid}message.ogg""')
await bot.send_voice(message.from_user.id, open(f"{userid}message.ogg", "rb"))
timenow = datetime.now()
with open(logfilename, 'a', encoding="utf-8") as file_object:
file_object.write(f'"{timenow}","{userid}","{user_username}","{user_first_name} {user_last_name}","request","{message.text}"\n')
os.remove(f"{userid}welcome.mp3")
os.remove(f"{userid}message.ogg")
1 Comment
Add Yours →Not bad, we need more bots like this to support Ukraine and Ukrainian language.