import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
from pydub import AudioSegment
import requests
# Инициализация бота
token = 'ваш_юзер_токен'
vk_session = vk_api.VkApi(token=token)
vk = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
# Обработка событий бота
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW and event.to_me:
message = event.text
user_id = event.user_id
# Проверка прикрепленного аудиофайла
if 'attach1_type=audio' in message:
attachment = message.split('attachment')[1][1:].split('&')[0]
# Получение ссылки на mp3 файл и его загрузка
url = vk.messages.getById(message_ids=event.message_id, user_id=user_id)['items'][0]['attachments'][0]['audio_message']['link_mp3']
response = requests.get(url)
with open('audio.mp3', 'wb') as f:
f.write(response.content)
# Конвертация mp3 в ogg
sound = AudioSegment.from_mp3('audio.mp3')
sound.export('audio.ogg', format='ogg', codec='opus', bitrate='64k')
# Получение ID друга
friend_id = int(input('Введите ID друга: '))
# Отправка голосового сообщения другу
upload_url = vk.docs.getUploadServer(type='audio_message', peer_id=friend_id)['upload_url']
response = requests.post(upload_url, files={'file': open('audio.ogg', 'rb')}).json()
doc = vk.docs.save(file=response['file'], title='Voice Message')
vk.messages.send(user_id=friend_id, random_id=0, message='', attachment=f"doc{doc['owner_id']}_{doc['id']}")