auciel 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 [](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) [
|
|
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:
|