Решение задач трека VK Видео и VK Звонки команды "Не творог, а творог"
Для корректной работы с VK API потребуется два токена: групповой токен и access токен. Гайды по их получению:
В корне проекта создать файл .env
(задачи на 10 и 20) следующего вида:
# .env
GROUP_TOKEN=TOP_SECRET_TOKEN
SECRET=TOP_SECRET_TOKEN
Для запуска потребуется go1.18
go run path/to/main.go arg1 arg2 ... argN
go build .
C последующим запуском бинарного файла
docker-compose up --build -d
main.go файлы располагаются по пути
/cmd/{TASK}/main.go
например
/cmd/30/main.go
В рамках данных задач написан чат бот на Go, который знает следующие команды:
ВНИМАНИЕ: Так как для работы бота требуются токены, которые имеют свойство истекать, а бессрочный получить нынче не удается, поэтому если вдруг что-то пойдет не так, то напишите нам, мы обновим ключи
Отправляет написавшему человеку уникальную ссылку на звонок
Соединяет написавшего со свободным оператором или же ставит его в очередь, сообщая при появлении свободного оператора
Добавляет написавшего человека в группу операторов. Изначально оператор считается свободным. При соединении с клиентом автоматически переходит в состояние занят
Данное сообщение доступно для операторов. Переводит оператора в состояние свободен
Реализован скрипт на языке Go. Для запуска необходимы два аргумента - access токен и ID сообщества (c ведущим минусом):
go run ./cmd/30/main.go TOKEN -123456
Ссылки на все новые трансляции будут появлятся в консоли
Реализован скрипт на языке Go. Для запуска необходимы как минимум 4 аргумента - access токен, ID сообщества (c ведущим минусом), ID видео, набор регулярных выражений:
go run ./cmd/30/main.go TOKEN -123456 7891011 ".*" "\+"
В результате в консоли будет выведен результат в следующем виде:
1) .* => 19
2) \+ => 1
Реализован скрипт на языке python. Для запуска необходимы 3 аргумента - access токен, ID сообщества (c ведущим минусом), название выходного видео:
python ./50/main.py TOKEN -123456 BEST_VIDEO_EVER
Перед запуском необходимо поставить все нужные зависимости:
pip install -r ./50/requirements.txt
Пример сгенерированного видео можно увидеть тут
Напишите бота ВКонтакте, которому можно будет отправить сообщение «Звонок», а он ответит ссылкой-приглашением для присоединения к звонку. Каждый раз должен создаваться отдельный звонок.
Колл-центр. У вас есть 4 оператора. Напишите бота, который будет следить за тем, кто из операторов сейчас свободен (напишет об этом боту), и в соответствии с этим равномерно распределять посетителей бота между операторами в разных звонках. Оставляйте ссылку для каждого оператора постоянной, но не отправляйте посетителям ссылку до тех пор, пока очередной оператор не освободится.
Хотите не пропускать ни одного прямого эфира? Напишите скрипт, который будет раз в минуту проверять, появились ли в сообществе новые прямые трансляции. Выводите в консоль информацию о новых эфирах! Реализуйте это задание в качестве локального скрипта, который можно запустить на нашем компьютере.
Помогите администраторам сообществ считать голосования в комментариях. С помощью метода video.getComments посчитайте количество сообщений заданного вида в комментариях к видео.
Реализуйте это задание в качестве локального скрипта, который можно запустить на нашем компьютере. В параметрах для запуска передавайте идентификатор видео и варианты ответов. Чтобы получить полный балл, поддержите регулярные выражения в вариантах ответов.
Автоматически сгенерируйте видеотрейлер заданного сообщества. Экспортируйте обложки и названия публично доступных видеозаписей. Сформируйте из них видеотрейлер, в котором каждое видео канала будет представлено пятисекундным сегментом с обложкой видео и его названием. Упорядочивайте видео внутри трейлера в порядке убывания количества просмотров.