auciel 0.1.0 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/auciel.rb +12 -1
- data/lib/constants/constants.rb +41 -23
- data/lib/endpoints/prices.rb +3 -3
- data/readme.md +29 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79d371ff04b61c8ced0153f079bde3de877c71e06642063ff905c08c63db5210
|
4
|
+
data.tar.gz: f98243cbe37ec7b4a90b64203ab0a7101aec12800c4077a5ba2abdc261830574
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a20a3182971a5fc417bfe3a93b77383b82d16919acc46620862f24149e0f9356ebd7d6dfef998f20446f6f320de41ba3f69d1cdd4ebf359dcedb2781c0b7264
|
7
|
+
data.tar.gz: f90c839420f5d4eea7d35f92c39246b4a3c7e1b673a84789feeeff42e69d1bcfa2646a05983249ad20679df61ec5f8a029c2a0055485cc5cd8f638eed4c30167
|
data/lib/auciel.rb
CHANGED
@@ -32,7 +32,7 @@ class Auciel
|
|
32
32
|
@server.register(*SearchEndpoints::SEARCH_ITEM_BY_TEXT)
|
33
33
|
|
34
34
|
# /prices/:id
|
35
|
-
@server.register(*PriceEndpoints::
|
35
|
+
@server.register(*PriceEndpoints::GET_PRICE_LIST_BY_ID)
|
36
36
|
|
37
37
|
# /hot
|
38
38
|
@server.register(*HotEndpoints::GET_HOT_ITEMS_LIST)
|
@@ -48,4 +48,15 @@ class Auciel
|
|
48
48
|
rescue Interrupt
|
49
49
|
puts '[auciel] shutting down.'
|
50
50
|
end
|
51
|
+
|
52
|
+
def all_endpoints
|
53
|
+
{
|
54
|
+
get_item_by_id: ItemEndpoints::GET_ITEM_BY_ID,
|
55
|
+
get_item_by_category: ItemEndpoints::GET_ITEM_BY_CATEGORY,
|
56
|
+
search_item_by_text: SearchEndpoints::SEARCH_ITEM_BY_TEXT,
|
57
|
+
get_price_list_by_id: PriceEndpoints::GET_PRICE_LIST_BY_ID,
|
58
|
+
get_hot_items_list: HotEndpoints::GET_HOT_ITEMS_LIST,
|
59
|
+
get_waitlist_items: WaitlistEndpoints::GET_WAITLIST_ITEMS
|
60
|
+
}
|
61
|
+
end
|
51
62
|
end
|
data/lib/constants/constants.rb
CHANGED
@@ -1,23 +1,41 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
REGION = ENV['BDO_AP_REGION'] || 'na'
|
4
|
+
|
5
|
+
REGION_DOMAINS = {
|
6
|
+
na: 'na-trade.naeu.playblackdesert.com',
|
7
|
+
eu: 'eu-trade.naeu.playblackdesert.com',
|
8
|
+
eu_console: 'eu-trade.console.playblackdesert.com',
|
9
|
+
na_console: 'na-trade.console.playblackdesert.com',
|
10
|
+
asia_console: 'asia-trade.console.playblackdesert.com',
|
11
|
+
sea: 'trade.sea.playblackdesert.com',
|
12
|
+
mena: 'trade.tr.playblackdesert.com',
|
13
|
+
kr: 'trade.kr.playblackdesert.com',
|
14
|
+
ru: 'trade.ru.playblackdesert.com',
|
15
|
+
jp: 'trade.jp.playblackdesert.com',
|
16
|
+
th: 'trade.th.playblackdesert.com',
|
17
|
+
tw: 'trade.tw.playblackdesert.com',
|
18
|
+
sa: 'blackdesert-tradeweb.playredfox.com'
|
19
|
+
}.freeze
|
20
|
+
|
21
|
+
module Constants
|
22
|
+
COOKIE =
|
23
|
+
'__RequestVerificationToken=0q_pyZ8OMkALLxxv_pj6ty10hXKTDq3Sl_1NAbV5WYhUAbNvcurT6GwSUDmBRnaZVyEmd0lcTlR3I6X7_cXkAwH-nGQG_G2E6MQZPNcfNd41'
|
24
|
+
RVT = 'MGf54RSTVQkYrPo4Dvaf9IOuSilYwQIzWfdBI4PhFrV1l1o_e0BRmf78J6I7pVn_gcqj5DAv-G3MfFiWoUqFE3R62-Kxdcm4CgkRGd7oq7Y1'
|
25
|
+
ROOT_URL = "https://#{REGION_DOMAINS[REGION.to_sym]}/Home"
|
26
|
+
WORLD_MARKET_LIST = '/GetWorldMarketList'
|
27
|
+
MARKET_SUB_LIST = '/GetWorldMarketSubList'
|
28
|
+
MARKET_SEARCH_LIST = '/GetWorldMarketSearchList'
|
29
|
+
MARKET_SELL_BUY_INFO = '/GetItemSellBuyInfo'
|
30
|
+
MARKET_HOT_LIST = '/GetWorldMarketHotList'
|
31
|
+
MARKET_WAIT_LIST = '/GetWorldMarketWaitList'
|
32
|
+
REQUEST_OPTS = {
|
33
|
+
method: 'post',
|
34
|
+
headers: {
|
35
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
36
|
+
'User-Agent':
|
37
|
+
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
|
38
|
+
Cookie: COOKIE
|
39
|
+
}
|
40
|
+
}.freeze
|
41
|
+
end
|
data/lib/endpoints/prices.rb
CHANGED
@@ -42,7 +42,7 @@ module PriceEndpoints
|
|
42
42
|
}.to_json
|
43
43
|
end
|
44
44
|
|
45
|
-
def self.
|
45
|
+
def self.price_list_by_id
|
46
46
|
lambda do |req|
|
47
47
|
item_id = req[:vars]['id']
|
48
48
|
uri = URI "#{Constants::ROOT_URL}#{Constants::MARKET_SELL_BUY_INFO}"
|
@@ -53,10 +53,10 @@ module PriceEndpoints
|
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
56
|
-
|
56
|
+
GET_PRICE_LIST_BY_ID = {
|
57
57
|
method: 'get',
|
58
58
|
path: '/prices/:id',
|
59
|
-
responder:
|
59
|
+
responder: price_list_by_id,
|
60
60
|
opts: { content_type: 'application/json' }
|
61
61
|
}.values.freeze
|
62
62
|
end
|
data/readme.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# auciel
|
1
|
+
# auciel [![gem version](https://badge.fury.io/rb/auciel.svg)](https://badge.fury.io/rb/auciel)
|
2
2
|
|
3
3
|
auciel is a wrapper for the black desert central market api. its purpose is to enable developers to get data from the market more easily, without having to figure out the strict (and odd) request structures required for the raw central market api.
|
4
4
|
|
@@ -8,7 +8,27 @@ built with the [tsurezure](https://github.com/jpegzilla/tsurezure) [![gem versio
|
|
8
8
|
|
9
9
|
### installing from rubygems
|
10
10
|
|
11
|
-
|
11
|
+
```ruby
|
12
|
+
# gemfile
|
13
|
+
|
14
|
+
source 'https://rubygems.org'
|
15
|
+
|
16
|
+
gem 'auciel'
|
17
|
+
```
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
# script.rb
|
21
|
+
|
22
|
+
require 'auciel'
|
23
|
+
|
24
|
+
server = Auciel.new 8888
|
25
|
+
|
26
|
+
server.listen
|
27
|
+
```
|
28
|
+
|
29
|
+
or
|
30
|
+
|
31
|
+
`gem install auciel`
|
12
32
|
|
13
33
|
### executable
|
14
34
|
|
@@ -32,6 +52,13 @@ you can also just run `ruby main.rb` in the root directory and a server will sta
|
|
32
52
|
|
33
53
|
## endpoints
|
34
54
|
|
55
|
+
1. [get item by id](#itemid)
|
56
|
+
1. [get item by category](#itemcatsub)
|
57
|
+
1. [search for an item](#searchqsearch-text)
|
58
|
+
1. [get prices by item id](#pricesid)
|
59
|
+
1. [get list of popular items](#hot)
|
60
|
+
1. [get market waitlist](#waitlist)
|
61
|
+
|
35
62
|
### `/item/:id`
|
36
63
|
|
37
64
|
retrieves information about an item based on its id. equivalent to `GetWorldMarketSubList` in the raw api. example:
|