Skip to content

Commit

Permalink
Add Hometask #2
Browse files Browse the repository at this point in the history
  • Loading branch information
Xanderwot committed Mar 27, 2018
1 parent 36aff2e commit 5568ad9
Showing 1 changed file with 45 additions and 5 deletions.
50 changes: 45 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,48 @@
2018-2019
=============

# Домашка 2

Telegram bot

Бывает довольно сложно искать нужную информацию на гитхабе, особенно в коммитах на прошлый год. Давайте это дело автоматизируем - напишем бота, да не просто бота, а телеграмм-бота, который будет искать все за нас.

### Основная идея

Необходимо написать простого бота который будет с нами общаться посредством популярного месенджера Telegram. Интерфейс бота будет довольно постым, нам необходимо реализовать несколько команд которые может обрабатывать наш бот:

* `/set_repo` - просит ввести ссылку на репозиторий

* `/show_repo` - текущий подключенный репозиторий

* `/search` - просит ввести ключевое слово(фразу) для поиска в данном репозитории и показывать результат этого запроса.

* `/history` - история запросов(опционально, но желательно)

* `/help` - показывает список возможных команд для нашего бота с пояснением. Вдруг ботом будет пользоваться еще кто-то кроме вас.

* !Не забываем проверять ссылку на то, что это вообще гитхаб, и обязательно на то, что такой репозиторий существует и что к нему есть доступ.

### Общие требования

* Мы не используем тут никакие фреймворки, только чистый руби и библиотеки ( конкретно нельзя использовать sinatra, padrino, rails и производные ).
* У вас должен быть Gemfile в корне со всеми вашими зависимостями
* Весь код должен быть разбит на классы
* Каждая команда бот - отдельный класс, который наследуется от общего класса
* Бот должен работать для любого пользователя, с кем он заговорит
* Для хранения данных использовать или отдельный файл для каждого пользователя или любую базу данных которая вам нравится.

### Полезные ссылки

* https://core.telegram.org/bots/api - API для телеграм ботов
* https://github.com/atipugin/telegram-bot-ruby - библиотека для работы с Telegram Bot API
* https://developer.github.com/v3/ - API GitHub
* https://google.com - полезный ресурс для поиска информации в сети интернет


# Домашка 1

Начиная изучать какую-нибудь новую для себя область чаще всего ты начинаешь делать это с истории. В попытка придумать первое домашнее задание его автор очень долго напрягал извилины и понял что Франция средних веков это как раз то что нам нужно.
Начиная изучать какую-нибудь новую для себя область чаще всего ты начинаешь делать это с истории. В попытка придумать первое домашнее задание его автор очень долго напрягал извилины и понял что Франция средних веков это как раз то что нам нужно.

### Основная идея

Expand Down Expand Up @@ -45,7 +85,7 @@ ruby pascal_tree.rb

### Задание ( Level 1 )

На первом этапе задания вам предлагается создать несколько страниц. На главной странице приложения будут располагаться все заголовки объявлений, которые разместили пользователи системы. При клике на заголовок будет открываться само объявление. В самом верху будет кнопка для добавление нового объявления. Само объявление представляет собой заголовок, текст объявления и контактный данные.
На первом этапе задания вам предлагается создать несколько страниц. На главной странице приложения будут располагаться все заголовки объявлений, которые разместили пользователи системы. При клике на заголовок будет открываться само объявление. В самом верху будет кнопка для добавление нового объявления. Само объявление представляет собой заголовок, текст объявления и контактный данные.
Пример объявления:

```
Expand All @@ -70,7 +110,7 @@ ruby pascal_tree.rb

### Общие требования

- Ваш код обязательно должен быть разбит на классы и модули.
- Ваш код обязательно должен быть разбит на классы и модули.
- Можно и необходимо пользоваться различными гемами.
- База данных для поиска информации может быть простым файлом. Также допускается использовать базу данных redis.
- Для поиска необходимой информации вам необходимо написать парсеры открытых источников. Таким источником является к примеру [IMDB](http://www.imdb.com/list/ls072706884/).
Expand Down Expand Up @@ -109,9 +149,9 @@ ruby pascal_tree.rb

# Домашка 2

В последнее время, неожиданно для многих из нас, в нашем регионе большую популярность приобрели рэп-батлы. И как бы к этому мы не относились, но трудно спорить с тем что "все лучше, чем мелочь по карманам тырить". Самой популярной площадкой в нашей регионе точно можно назвать [Versus](https://www.youtube.com/user/versusbattleru). Если вы никогда не видели ничего из вышесказанного - зайдите и обязательно ознакомьтесь, для дальнейшего понимания задачи. К слову на последнем практическом занятии мы выяснили кто является самым матным участником этой площадки, написав программу которая анализирует тексты всех состязаний.
В последнее время, неожиданно для многих из нас, в нашем регионе большую популярность приобрели рэп-батлы. И как бы к этому мы не относились, но трудно спорить с тем что "все лучше, чем мелочь по карманам тырить". Самой популярной площадкой в нашей регионе точно можно назвать [Versus](https://www.youtube.com/user/versusbattleru). Если вы никогда не видели ничего из вышесказанного - зайдите и обязательно ознакомьтесь, для дальнейшего понимания задачи. К слову на последнем практическом занятии мы выяснили кто является самым матным участником этой площадки, написав программу которая анализирует тексты всех состязаний.

На мировой арене самой старой и известной площадкой в данной сфере является [King of the Dot](https://www.youtube.com/user/KingOfTheDot). В отличии от Versus, упомянутого ранее, на данной площадке по большей части нету судей. Они объясняют это тем, что достаточно трудно оценить кто из участников был сильнее в каждой схватке и всегда очень субъективно.
На мировой арене самой старой и известной площадкой в данной сфере является [King of the Dot](https://www.youtube.com/user/KingOfTheDot). В отличии от Versus, упомянутого ранее, на данной площадке по большей части нету судей. Они объясняют это тем, что достаточно трудно оценить кто из участников был сильнее в каждой схватке и всегда очень субъективно.
В рамках сегодняшнего домашнего задания мы предлагаем попытаться исправить данное правило и написать алгоритм, который бы мог определить кто выиграл по критериям, которые сами и придумаем.

Для анализа каждого поединка нам понадобятся их тексты. Меня всегда это удивляет, но кажется для каждой из таких площадок находятся люди, которые вручную анализируют и вбивают тексты. Для KOTD тексты можно найти по [ссылке](https://genius.com/artists/King-of-the-dot).
Expand Down

0 comments on commit 5568ad9

Please sign in to comment.