Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from vkbottle.bot import Bot, Message
- from vkbottle import VoiceMessageUploader
- from config import token
- import requests, datetime
- from loguru import logger
- import os
- import torch
- bot = Bot(token=token)
- api = "токен"
- def get_voice(text):
- device = torch.device('cpu')
- torch.set_num_threads(4)
- local_file = 'model.pt'
- if not os.path.isfile(local_file):
- torch.hub.download_url_to_file('https://models.silero.ai/models/tts/ru/v3_1_ru.pt',
- local_file)
- model = torch.package.PackageImporter(local_file).load_pickle("tts_models", "model")
- model.to(device)
- sample_rate = 48000
- speaker='baya'
- audio_paths = model.save_wav(text=text,
- speaker=speaker,
- sample_rate=sample_rate)
- @bot.on.message(text="погода <q>")
- async def hi_handler(message: Message, q):
- try:
- r = requests.get(f"https://api.openweathermap.org/data/2.5/weather?q={q}&appid={api}&units=metric")
- data = r.json()
- name = data['main']
- temp = name['temp']
- humidity = name['humidity']
- temp_max = name['temp_max']
- temp_min = name['temp_min']
- wind = data['wind']['speed']
- sunrise = datetime.datetime.fromtimestamp(data['sys']['sunrise'])
- await message.answer(f"В {data['name']}: {str(temp)} °C\n" \
- f"Влажность: {humidity}%\n" \
- f"Максимальная температура: {temp_max} °C\n" \
- f"Минимальная температура: {temp_min} °C\n" \
- f"Скорость ветра: {wind}\n" \
- f"Восход солнца: {sunrise}")
- except:
- await message.answer("Повторите попытку")
- @bot.on.message(text=["гс <audio>"])
- async def get_revoice(message: Message, audio):
- voice = VoiceMessageUploader(bot.api)
- get_voice(audio)
- audio_get = await voice.upload("voice.wav", "test.wav", peer_id=message.peer_id)
- await message.answer(attachment=audio_get)
- bot.run_forever()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement