mirror of
https://github.com/EDeev/vkrepost_to_tg.git
synced 2026-10-07 20:49:50 +03:00
- фоновая рассылка падала на каждом новом посте: NameError: name 'types' is not defined (видно в логе сервера) — бот не пересылал ничего; - пост с одной картинкой не отправлялся: send_media_group принимает от 2 до 10 элементов; больше 10 фото — тоже ошибка; теперь одиночное фото — send_photo, альбом обрезается до 10; - подпись длиннее 1024 символов ломала отправку — длинный текст уходит отдельными сообщениями (с делением по строкам, чтобы не рвать HTML); - если первым вложением была ссылка или опрос, текст поста терялся (подпись ставилась только на вложение с индексом 0); - текст и названия из ВК подставлялись в HTML без экранирования; ссылки оформлялись Markdown-синтаксисом ([..](..)) при разметке HTML; - post_message[0] у одиночного сообщения, logging.danger, /notif без подписок — падения; - у видео без photo_800 разбор поста падал; «Лайков» у видео на самом деле были просмотры; - синхронные вызовы vk_api и time.sleep блокировали бота — теперь в отдельном потоке и asyncio.sleep; ошибка у одного подписчика не мешает остальным. Новое: /logout — удалить сохранённый токен VK; сообщение со ссылкой-токеном удаляется из переписки. Токены бота и VK — из переменных окружения, таблицы SQLite создаются при первом запуске (пустые базы убраны из репозитория), ссылка «АВТОР» — на EDeev.
19 lines
898 B
Python
19 lines
898 B
Python
import os
|
||
|
||
# TOKENS
|
||
botToken = os.getenv("BOT_TOKEN", "XXXXXXXXXXXXXXXXXXXXXXXX") # @vkportalbot
|
||
serviceToken = os.getenv("VK_SERVICE_TOKEN", "") # сервисный ключ приложения VK
|
||
|
||
# URL
|
||
loginUrl = os.getenv("VK_LOGIN_URL", "https://oauth.vk.com/authorize?client_id=6121396&scope=215985366"
|
||
"&redirect_uri=https://oauth.vk.com/blank.html&display=page"
|
||
"&response_type=token&revoke=1")
|
||
checkUrl = "https://oauth.vk.com/blank.html#access_token="
|
||
|
||
# VARIABILITY
|
||
unvote = {True: 'без возможности переголосовать', False: 'с возможностью переголосовать'}
|
||
anonymous = {True: 'анонимный опрос', False: 'не анонимный опрос'}
|
||
|
||
# DATA
|
||
data = {0: 'Б', 1: 'КБ', 2: 'МБ', 3: 'ГБ', 4: 'ТБ'}
|
||
dura = {0: 'с.', 1: 'мин.'}
|