![](http://i.imgur.com/Sdc5a5O.png)
# BalalaikaBear
[![Build Status](https://semaphoreci.com/api/v1/ayrat555/balalaika_bear/branches/master/badge.svg)](https://semaphoreci.com/ayrat555/balalaika_bear)
BalalaikaBear - simple elixir wrapper for VK API
## Installation
Add `balalaika_bear` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:balalaika_bear, "~> 0.1.2"}]
end
```
## Usage
All VK api method groups have corresponding modules. For example, Users method group corresponds to BalalaikaBear.Users module. All api methods take map with params and return tuple with {:ok, result} or {:error, result}, result is also map. Method names are snakecased.
Examples:
```elixir
iex> BalalaikaBear.Users.get(%{user_ids: [13886710], fields: ["photo_max", "sex"], name_case: "ins"})
{:ok,
[%{"first_name" => "Айратом", "hidden" => 1,
"last_name" => "Бадыковым",
"photo_max" => "https://pp.vk.me/c837131/v837131710/1240d/roPlCfnhZf4.jpg",
"sex" => 2, "uid" => 13886710}]}
iex> BalalaikaBear.Friends.get_recent(%{access_token: "0632e6d2eda02e4a891da1ddcec99ff333804cce64f4a156a1a988f2c5696ee299209f2179e33038c8447"})
{:ok,
[85795727, 397515497, 1853478, 17040466, 60572844, 102237877, 311351751,
24024015, 7425266, 37130508, 33338345, 90365581, 10848035, 19841812, 19295783,
40546021, 97004807, 16633457, 684522, 95240582, 37732872, 28975723, 31308630,
16607929, 24965682, 46861948, 273283791, 15733285, 51835166, 250923080,
14563583, 251266422, 43352802, 196192600, 89721960, 278044518, 38296606,
8225855, 30534493, 37613006, 12958248, 92178223, 43750368, 53755118, 10507005,
3969963, 74360103, 20342602, 8854979, ...]}
iex> BalalaikaBear.Apps.get(%{app_id: 5803246})
{:ok,
%{"author_id" => 13886710, "author_url" => "https://vk.com/id13886710",
"banner_186" => "https://vk.com/images/dquestion_x.gif",
"banner_896" => "https://vk.com/images/dquestion_v.png",
"icon_100" => "https://vk.com/images/dquestion_100.gif",
"icon_128" => "https://vk.com/images/dquestion_i.png",
"icon_200" => "https://vk.com/images/dquestion_a.png",
"icon_25" => "https://vk.com/images/dquestion_e.gif",
"icon_256" => "https://vk.com/images/dquestion_f.png",
"icon_50" => "https://vk.com/images/dquestion_c.gif",
"icon_75" => "https://vk.com/images/dquestion_d.png", "id" => 5803246,
"is_in_catalog" => 0, "leaderboard_type" => 0, "members_count" => 1,
"title" => "test_elixir", "type" => "standalone"}}
```
More examples can be found in test files.
## Available api modules
* BalalaikaBear.Account
* BalalaikaBear.Apps
* BalalaikaBear.Audio
* BalalaikaBear.Auth
* BalalaikaBear.Board
* BalalaikaBear.Database
* BalalaikaBear.Docs
* BalalaikaBear.Fave
* BalalaikaBear.Friends
* BalalaikaBear.Gifts
* BalalaikaBear.Groups
* BalalaikaBear.Leads
* BalalaikaBear.Likes
* BalalaikaBear.Market
* BalalaikaBear.Messages
* BalalaikaBear.Newsfeed
* BalalaikaBear.Notes
* BalalaikaBear.Notifications
* BalalaikaBear.Orders
* BalalaikaBear.Pages
* BalalaikaBear.Photos
* BalalaikaBear.Places
* BalalaikaBear.Polls
* BalalaikaBear.Search
* BalalaikaBear.Secure
* BalalaikaBear.Stats
* BalalaikaBear.Status
* BalalaikaBear.Storage
* BalalaikaBear.Users
* BalalaikaBear.Utils
* BalalaikaBear.Video
* BalalaikaBear.Wall
* BalalaikaBear.Widgets
Documentation for available methods can be found [here](https://vk.com/dev/methods)(russian) or [here](https://vk.com/pages?oid=-17680044&p=API_Method_Description)(english)
## Available api methods
https://hexdocs.pm/balalaika_bear/api-reference.html
## Contributing
Start by forking this repo
Pull requests are greatly appreciated