Пост не дублируется в канал Telegram, если в оригинальном посте VK присутствует embedded YouTube Video URL
x0x8x opened this issue · 1 comments
Опишите ошибку
- Пост не дублируется в канал Telegram, если в оригинальном посте VK присутствует embedded на YouTube Video URL
- Пост на канале Telegram создаётся, но без какого-либо встроенного видео
- Клиент TG_AutoPoster.py вылетает, Трейсбэк прилагаю
Как получить ошибку
Создать пост со встроенной ютуб ссылкой
Пост с ссылкой на ютуб видео в VK
Ожидаемое поведение
Абсолютно идентичный пост с Embedded видео на YouTube.com
Traceback
Traceback (most recent call last):
File "TG_AutoPoster.py", line 167, in <module>
autoposter.infinity_run(interval=sleep_time)
File "TG_AutoPoster.py", line 141, in infinity_run
self.run()
File "TG_AutoPoster.py", line 114, in run
for post in posts:
File "/opt/TG_AutoPoster/parsers.py", line 81, in get_new_posts
parsed_post.generate_post()
File "/opt/TG_AutoPoster/parsers.py", line 157, in generate_post
self.generate_music()
File "/opt/TG_AutoPoster/parsers.py", line 244, in generate_music
file = download(track["url"], out=name)
File "/usr/local/lib/python3.7/dist-packages/wget.py", line 526, in download
(tmpfile, headers) = ulib.urlretrieve(binurl, tmpfile, callback)
File "/usr/lib/python3.7/urllib/request.py", line 247, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "/usr/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.7/urllib/request.py", line 510, in open
req = Request(fullurl, data)
File "/usr/lib/python3.7/urllib/request.py", line 328, in __init__
self.full_url = url
File "/usr/lib/python3.7/urllib/request.py", line 354, in full_url
self._parse()
File "/usr/lib/python3.7/urllib/request.py", line 383, in _parse
raise ValueError("unknown url type: %r" % self.full_url)
ValueError: unknown url type: ''
Как должно быть
Message(
id=1,
to_id=PeerChannel(
channel_id=1234567890
),
message='https://youtu.be/Eq6H2qFIIGg',
out=True,
post=True,
media=MessageMediaWebPage(
webpage=WebPage(
id=5127856301393798154,
url='https://youtu.be/Eq6H2qFIIGg',
display_url='youtube.com/watch?v=Eq6H2qFIIGg',
hash=0,
type='video',
site_name='YouTube',
title='Hero Pool Draw | Watchpoint | Hosted by Houston Outlaws',
description="Watch the first Hero Pool Draw of the season! Find out which heroes will be unavailable for next weekend's matches in Washington. Week 4 of the 2020 Overwatc...",
embed_url='https://www.youtube.com/embed/Eq6H2qFIIGg',
embed_type='iframe',
embed_width=1280,
embed_height=720,
duration=None,
author=None,
document=None,
cached_page=None,
attributes=[])),
entities=[
MessageEntityUrl(
offset=0,
length=28
)])
Это не совсем баг, так как при отправки всех сообщений отключен предпросмотр ссылок. Я ближайшее время добавлю возможность управлять предпросмотром ссылок через файл конфигурации.
Насчет вашего Traceback. Оно не имеет никакого отношения к отправке поста с embedded YouTube Video URL. В данном случае, это ошибка получения аудиозаписей этого поста. Чтобы ее исправить установите мой форк vk_api (с помощью команды pip3 install -U git+https://github.com/qwertyadrian/vk_api
). Эта зависимость также указана в файле requirements.txt.