Как проще всего прикрепить к сообщению видео с ютуб по ссылке с помощью VK API?

Покажу вам вырезки кода, чтобы вы поняли суть.
import vk_api, re, urllib.request, urllib.parse # другие библиотеки ...
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType

bot_session = vk_api.VkApi(token = 'token')
vk = bot_session.get_api()

# другие методы ... #
def get_video_hash(request):
    query_string = urllib.parse.urlencode({"search_query" : request})
    html_content = urllib.request.urlopen("http://www.youtube.com/results?" + query_string)
    search_results = re.findall(r'href=\"\/watch\?v=(.{11})', html_content.read().decode())
    return search_results

def send(user_id = None, chat_id = None, peer_id = None, message = None, attachment = None):
    vk.messages.send(
        user_id = user_id,
        chat_id = chat_id,
        peer_id = peer_id,
        message = message,
        attachment = attachment,
        random_id = 0
    )
# ... другие методы #

# обработчик ... #
if arg != None:
    hash_list = get_video_hash(arg)
    if len(hash_list) == 0:
        send(peer_id = self.receiver, message = f'{name}, по запросу "{arg}" ничего не найдено ')
    else:
        send(peer_id = self.receiver, attachment = [{'type': 'video', 'video': {...}}])
# ... обработчик #
  • Вопрос задан
  • 23 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы