Skip to content

Решение задач трека VK Видео и VK Звонки команды "Не творог, а творог" (финал)

Notifications You must be signed in to change notification settings

Not-cottage-cheese-but-cottage-cheese/VKCallsFinal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VK Видео и VK Звонки

Решение задач трека 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

10 и 20

В рамках данных задач написан чат бот на Go, который знает следующие команды:

ВНИМАНИЕ: Так как для работы бота требуются токены, которые имеют свойство истекать, а бессрочный получить нынче не удается, поэтому если вдруг что-то пойдет не так, то напишите нам, мы обновим ключи

Звонок

Отправляет написавшему человеку уникальную ссылку на звонок

Звонок оператору

Соединяет написавшего со свободным оператором или же ставит его в очередь, сообщая при появлении свободного оператора

Хочу быть оператором

Добавляет написавшего человека в группу операторов. Изначально оператор считается свободным. При соединении с клиентом автоматически переходит в состояние занят

Я свободен

Данное сообщение доступно для операторов. Переводит оператора в состояние свободен

30

Реализован скрипт на языке Go. Для запуска необходимы два аргумента - access токен и ID сообщества (c ведущим минусом):

go run ./cmd/30/main.go TOKEN -123456

Ссылки на все новые трансляции будут появлятся в консоли

40

Реализован скрипт на языке Go. Для запуска необходимы как минимум 4 аргумента - access токен, ID сообщества (c ведущим минусом), ID видео, набор регулярных выражений:

go run ./cmd/30/main.go TOKEN -123456 7891011 ".*" "\+" 

В результате в консоли будет выведен результат в следующем виде:

1) .* => 19
2) \+ => 1

50

Реализован скрипт на языке python. Для запуска необходимы 3 аргумента - access токен, ID сообщества (c ведущим минусом), название выходного видео:

python ./50/main.py TOKEN -123456 BEST_VIDEO_EVER 

Перед запуском необходимо поставить все нужные зависимости:

pip install -r ./50/requirements.txt

Пример сгенерированного видео можно увидеть тут

Описание задач

10

Напишите бота ВКонтакте, которому можно будет отправить сообщение «Звонок», а он ответит ссылкой-приглашением для присоединения к звонку. Каждый раз должен создаваться отдельный звонок.

20

Колл-центр. У вас есть 4 оператора. Напишите бота, который будет следить за тем, кто из операторов сейчас свободен (напишет об этом боту), и в соответствии с этим равномерно распределять посетителей бота между операторами в разных звонках. Оставляйте ссылку для каждого оператора постоянной, но не отправляйте посетителям ссылку до тех пор, пока очередной оператор не освободится.

30

Хотите не пропускать ни одного прямого эфира? Напишите скрипт, который будет раз в минуту проверять, появились ли в сообществе новые прямые трансляции. Выводите в консоль информацию о новых эфирах! Реализуйте это задание в качестве локального скрипта, который можно запустить на нашем компьютере.

40

Помогите администраторам сообществ считать голосования в комментариях. С помощью метода video.getComments посчитайте количество сообщений заданного вида в комментариях к видео.

Реализуйте это задание в качестве локального скрипта, который можно запустить на нашем компьютере. В параметрах для запуска передавайте идентификатор видео и варианты ответов. Чтобы получить полный балл, поддержите регулярные выражения в вариантах ответов.

50

Автоматически сгенерируйте видеотрейлер заданного сообщества. Экспортируйте обложки и названия публично доступных видеозаписей. Сформируйте из них видеотрейлер, в котором каждое видео канала будет представлено пятисекундным сегментом с обложкой видео и его названием. Упорядочивайте видео внутри трейлера в порядке убывания количества просмотров.

About

Решение задач трека VK Видео и VK Звонки команды "Не творог, а творог" (финал)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published