Added more files and docs

This commit is contained in:
Fijxu 2021-08-19 00:24:29 -04:00
parent 9401e9787d
commit f999dbfe61
23 changed files with 517 additions and 35 deletions

View file

@ -4,9 +4,9 @@
Unofficial usermade documentation of the v3 API of the streaming platform called booyah
Since booyah does not provide documentation to its API, I am doing the documentation to make the development of bots (or something else) easier for everyone.
Since booyah does not provide documentation to its API, I writing this documentation to make the development of bots (or something else) easier for everyone.
I am not a booyah employee and I am not affiliated with them either (in fact, I hate booyah). I am just a normal user
I am not a booyah employee and I am not affiliated with them either. I am just a normal user
This work is in progress, I will update it when I have time available. The booyah api is too extensive to finish it in a few days.

View file

@ -9,5 +9,16 @@ channels
├── streams.md
```
### Public access
[Info about some stream (/streams)](./channels/streams.md)
[Get alert configuration of a channel (/alert-configs)](./channels/alert-configs.md)
### Private access
[Get stream stats about your channel (/stats)](./channels/stats.md)
[Get info about your stream keys and rtpm servers (/stream-keys)](./channels/stream-keys.md)
[Get info about your stream settings (/stream-settings)](./channels/stream-settings.md)

40
docs/channels/alert-configs.md Executable file
View file

@ -0,0 +1,40 @@
# Alert Config
Request Method: GET
* */channels/`userID`/alert-config* = Get alert configuration of a channel
* Response Example:
```json
{
"alert_config": {
"channel_id": 12345678,
"is_chat_list_open": true,
"is_loot_drop_winner_open": false,
"is_new_follower_open": true,
"is_free_gift_open": true,
"coin_gift": 0,
"gift_ranking": 0,
"is_latest_gifter_open": false,
"is_hosting_open": true,
"alert_box_url": "https://booyah.live/standalone/chatroom/chat-alert?room_id=12345678&uid=12345678&token=246lenghttoken",
"gift_ranking_url": "https://booyah.live/standalone/chatroom/ranking-alert?room_id=12345678&uid=12345678&token=246lenghttoken",
"chat_list_url": "https://booyah.live/standalone/chatroom/chat-list?room_id=12345678&uid=12345678&token=246lenghttoken",
"create_time": 1627944417,
"update_time": 1628724488
},
"banner_alert_new_follower_config": {
"message_template": "{username} started following you!",
"layout_id": "customize_3",
"alert_duration": 2,
"font_size": 14,
"custom_img_url": "https://resmambet-a.akamaihd.net/mambet-storage/Web/ChatAlert/12345678/image-1628724059089",
"custom_img_name": "ff.gif"
},
"gift_ranking_common_config": {
"background_transparency": 15,
"font_size": 12
}
}
```

39
docs/channels/stats.md Executable file
View file

@ -0,0 +1,39 @@
# Stats
Request Method: GET
* *channels/`userID`/stats* = Get accounts accounts you have blocked
* Response Example:
```json
{
"new_followers": 17,
"stream_stats": {
"minutes_streamed": 212,
"minutes_watched": 195,
"unique_viewers": 282,
"total_viewers": 282,
"average_viewers": 0.9952830188679245,
"peak_viewers": 4,
"peak_viewers_time": 1628844360,
"received_gift_value": 0,
"received_ticket": 0,
"average_logged_in_booyah_ccu": 0.9198113207547169,
"stream_days": 0
},
"highlight_stats": {
"count": 0,
"average_duration": 0,
"total_views": 0,
"total_minutes_watched": 0,
"total_likes": 0
},
"clip_stats": {
"count": 0,
"average_duration": 0,
"total_views": 0,
"total_minutes_watched": 0,
"total_likes": 0
}
}
```

14
docs/channels/stream-keys.md Executable file
View file

@ -0,0 +1,14 @@
# Stream Keys
Request Method: POST
* */users/`userID`/coins* = Get info about your streamkey and stream server
* Response Example:
```json
{
"url": "rtmp://rtpmip:1935/live",
"stream_key": "12345678?token=56lenghttoken",
"speed_test_url": "http://rtpmip:1935/speedtest"
}
```

View file

@ -0,0 +1,31 @@
# Stream Settings
Request Method: GET
* */users/`userID`/stream-settings* = Get info about the stream setting
* Response Example:
```json
{
"game_build_id": 100000,
"title": "ffmpeg and shit!",
"description": "",
"resolution": "720p",
"thumbnail": "",
"thumbnail_path": "",
"chat_notification": 1,
"join_room_notification": 1,
"new_follower_notification": 1,
"detect_keyword_notification": 1,
"send_gift_notification": 1,
"party_up_notification": 1,
"msg_mode": 0,
"add_bgm": 1,
"voice_command": false,
"package_name": "",
"streaming_lang": "en",
"setting_list": [],
"tag_uniq": "",
"stream_start_msg": ""
}
```

View file

@ -1,6 +1,6 @@
# Streams
* */api/v3/channels/`userID`/streams* = Get info about some stream, varies depending on whether streamer is offline or online. This can be used to detect if the streamer is live and send a notification.
* */channels/`userID`/streams* = Get info about some stream, varies depending on whether streamer is offline or online. This can be used to detect if the streamer is live and send a notification.
* Response Example if streamer is live:
```js
@ -31,7 +31,9 @@
"platform": "mambettv", // Mambettv = Booyah
"live_views": 2
}],
"encoder": "Lavf58.76.100", // This can be used
"encoder": "Lavf58.76.100", // The encoder being used by the streamer
// If is "Lavf" , is ffmpeg
// If is "obs-output module (libobs version 2x.x.x)", is Open Broadcasting Software
"tag_uniq": "",
"create_time": 1629322384, // Unix time // Time at which the stremearing started
"update_time": 1629323357, // Unix time //The time at which the data in this request is updated.
@ -43,7 +45,7 @@
```js
{
"code": 404,
"message": "Stream is not online"
"code": 404, // Error code
"message": "Stream is not online" //
}
```

12
docs/channels/videos.md Executable file
View file

@ -0,0 +1,12 @@
# Videos
Request Method: GET
* */users/`userID`/videos* =
* Response Example: No data for now
```json
{
"null": "for now"
}
```

6
docs/chatrooms/chatrooms.md Executable file
View file

@ -0,0 +1,6 @@
# Chatroom
Request Method: GET
* */chatroom/`userID`* = Get info about the channel chatroom, contains the list of moderators of the channel
* Response Example: The response is too long to put here and contains to much sensitive information.

16
docs/games.md Executable file
View file

@ -0,0 +1,16 @@
# Games API
Work in progress...
## Tree 🌲
```less
channels
├── streams.md
```
### Public access
[Get list of games, sorted by popularity (/games)](./games/games.md)
[Get rewards (/games-1-rewards)](./games/games-1-rewards.md)

204
docs/games/games-1-rewards.json Executable file
View file

@ -0,0 +1,204 @@
{
"reward_list": [{
"item_uniq": "10_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "10 Diamond"
}, {
"item_uniq": "100_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "100 Diamond"
}, {
"item_uniq": "1000_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "1000 Diamond"
}, {
"item_uniq": "1200_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "1200 diamond"
}, {
"item_uniq": "1500_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "1500 diamond"
}, {
"item_uniq": "2000_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "2000 diamond"
}, {
"item_uniq": "300_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "300 diamond"
}, {
"item_uniq": "3000_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "3000 diamond"
}, {
"item_uniq": "4000_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "4000 diamond"
}, {
"item_uniq": "4th_amplified_bassrock_bundle",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_amplified_bassrock_bundle.png",
"name": "Amplified Bassrock Bundle"
}, {
"item_uniq": "4th_anniversary_dynamic_token",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_anniverary_dynamic_token.png",
"name": "Anniversary Dynamic Token"
}, {
"item_uniq": "4th_character_thiva",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_character_thiva.png",
"name": "Thiva"
}, {
"item_uniq": "4th_crazy_guitar_emote",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_crazy_guitar_emote.png",
"name": "Crazy Guitar"
}, {
"item_uniq": "4th_grenade_skin",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_grenade_skin.png",
"name": "Grenade- Thrash Goth"
}, {
"item_uniq": "4th_monster_truck",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_monster_truck.png",
"name": "Monster Truck- Thrash Metallic"
}, {
"item_uniq": "4th_parachute",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_parachute.png",
"name": "Crimson Neon"
}, {
"item_uniq": "4th_pet_party_panda",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_pet_party_panda.png",
"name": "Pet Skin: Party Panda"
}, {
"item_uniq": "4th_surfboard",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/4th_surfboard.png",
"name": "Disc Hover"
}, {
"item_uniq": "5_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "5 Diamond"
}, {
"item_uniq": "50_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "50 Diamond"
}, {
"item_uniq": "500_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "500 Diamond"
}, {
"item_uniq": "5000_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "5000 Diamond"
}, {
"item_uniq": "800_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "800 diamond"
}, {
"item_uniq": "8000_diamond",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/diamond_box.png",
"name": "8000 diamond"
}, {
"item_uniq": "a124_artificial_intelligence_bundle",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/710000385.png",
"name": "A124's artificial intellifence bundle"
}, {
"item_uniq": "an94_booyah_permanent",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/907001620.png",
"name": "AN94- BOOYAH"
}, {
"item_uniq": "annihilator_top",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/annihilator_top.png",
"name": "annihilator_top"
}, {
"item_uniq": "antonio_character",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/102000010.png",
"name": "Antonio"
}, {
"item_uniq": "applause_emote",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/909000004.png",
"name": "Applause"
}, {
"item_uniq": "arm_wave_emote",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/arm_wave_emote.png",
"name": "arm_wave_emote"
}, {
"item_uniq": "astronaut_pack",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/astronaut_pack.png",
"name": "Astronaut Pack"
}, {
"item_uniq": "auto_rickshaw_vehicle",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/auto_rickshaw_vehicle.png",
"name": "auto_rickshaw_vehicle"
}, {
"item_uniq": "baby_shark_emote",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/909000009.png",
"name": "Baby Shark"
}, {
"item_uniq": "backpack _dancing_panda",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/904000010.png",
"name": "Dancing panda"
}, {
"item_uniq": "baseballer_head",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/baseballer_head.png",
"name": "baseballer_head"
}, {
"item_uniq": "battlefield_bundle_F",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/battlefield_bundle_F.png",
"name": "battlefield_bundle_F"
}, {
"item_uniq": "battlefield_bundle_M",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/battlefield_bundle_M.png",
"name": "battlefield_bundle_M"
}, {
"item_uniq": "beachwear_loot_crate",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/beachwear_loot_crate_v2.png",
"name": "beachwear_loot_crate"
}, {
"item_uniq": "bhangra_emote",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/bhangra_emote2.png",
"name": "Bhangra"
}, {
"item_uniq": "bikini_top",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/bikini_top.png",
"name": "Bikini Top"
}, {
"item_uniq": "black_rose_rocker_mask",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/black_rose_rocker_mask.png",
"name": "black_rose_rocker_mask"
}, {
"item_uniq": "black_rose_rocker_top",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/black_rose_rocker_top.png",
"name": "black_rose_rocker_top"
}, {
"item_uniq": "blackbelt_shoes",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/blackbelt_shoes.png",
"name": "blackbelt_shoes"
}, {
"item_uniq": "bloody_heart_grenade",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/bloody_heart_grenade.png",
"name": "bloody_heart_grenade"
}, {
"item_uniq": "blue_angel_bottom",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/blue_angel_bottom.png",
"name": "blue_angel_bottom"
}, {
"item_uniq": "blue_angel_head",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/blue_angel_head.png",
"name": "blue_angel_head"
}, {
"item_uniq": "blue_angel_shoes",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/blue_angel_shoes.png",
"name": "blue_angel_shoes"
}, {
"item_uniq": "blue_angel_top",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/blue_angel_top.png",
"name": "blue_angel_top"
}, {
"item_uniq": "blue_specimen",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/blue_specimen.png",
"name": "Blue Specimen"
}, {
"item_uniq": "booyah_box",
"icon_url": "https://cdnmambet-a.akamaihd.net/booyah/ops_resource/loot_item_pic/booyah_box.png",
"name": "BOOYAH Box"
}],
"cursor": 50
}

6
docs/games/games-1-rewards.md Executable file
View file

@ -0,0 +1,6 @@
# Game Rewards
Request Method: GET
* */games/1/rewards* = Get list of games, sorted by popularity
* Response Example: The response is too long to put here, see [this json](./games-1-rewards.json)

87
docs/games/games.md Executable file
View file

@ -0,0 +1,87 @@
# Games
Request Method: GET
* */games* = Get list of games, sorted by popularity
* Response Example:
```json
{
"game_list": [{
"game_id": 1,
"viewer_count": 115875
}, {
"game_id": 100000,
"viewer_count": 17413
}, {
"game_id": 0,
"viewer_count": 14450
}, {
"game_id": 10010,
"viewer_count": 8437
}, {
"game_id": 10019,
"viewer_count": 3449
}, {
"game_id": 10001,
"viewer_count": 3072
}, {
"game_id": 10007,
"viewer_count": 1864
}, {
"game_id": 10017,
"viewer_count": 1352
}, {
"game_id": 10021,
"viewer_count": 1081
}, {
"game_id": 39,
"viewer_count": 782
}, {
"game_id": 10015,
"viewer_count": 755
}, {
"game_id": 5,
"viewer_count": 508
}, {
"game_id": 10020,
"viewer_count": 287
}, {
"game_id": 3,
"viewer_count": 101
}, {
"game_id": 10004,
"viewer_count": 66
}, {
"game_id": 13,
"viewer_count": 47
}, {
"game_id": 10025,
"viewer_count": 38
}, {
"game_id": 10008,
"viewer_count": 24
}, {
"game_id": 10018,
"viewer_count": 21
}, {
"game_id": 10016,
"viewer_count": 15
}, {
"game_id": 10022,
"viewer_count": 11
}, {
"game_id": 26,
"viewer_count": 11
}, {
"game_id": 100006,
"viewer_count": 8
}, {
"game_id": 6,
"viewer_count": 2
}, {
"game_id": 10005,
"viewer_count": 0
}]
}
```

View file

@ -17,24 +17,24 @@ users
└── userID.md
```
### For all users
### Public Access
[Info about some account](./users/userID.md)
[Info about some account (/userID)](./users/userID.md)
[Info about the follower count of some user](./users/followers.md)
[Info about the follower count of some user (/followers)](./users/followers.md)
### Only for your account
### Private Access
[Get a list of users blocked](./users/blocks.md)
[Get a list of users blocked (/blocks)](./users/blocks.md)
[Info about daily login](./users/daily-logins.md)
[Info about daily login (/daily-logins)](./users/daily-logins.md)
[Info about coins](./users/coins.md)
[Info about coins (/coins)](./users/coins.md)
[Info about real money in your account](./users/cash-coins.md)
[Info about real money in your account (/cash-coins)](./users/cash-coins.md)
[Info about your account notifications/alerts](./users/push-message-sessions.md)
[Info about your account notifications/alerts (/push-message-sessions)](./users/push-message-sessions.md)
[Info about some Free gifts/tickets](./users/free-gifts.md)
[Info about some Free gifts/tickets (/free-gifts)](./users/free-gifts.md)
[Info about some bug report or something else](./users/bug-report-claims.md)
[Info about some bug report or something else (/bug-report-claims)](./users/bug-report-claims.md)

View file

@ -1,6 +1,8 @@
# Blocks
* */api/v3/users/`userID`/blocks* = Get accounts accounts you have blocked
Request Method: GET
* */users/`userID`/blocks* = Get accounts accounts you have blocked
* Response Example:
```js

View file

@ -1,13 +1,13 @@
# Bug Report Claims
* */api/v3/users/`userID`/bug-report-claims* = Some report shit
* */api/v3/users/`userID`/bug-report-claims* = Bug report claims by user
* Response Example:
```js
{ // I don't know nothing about this
"claim": false,
"claim_id": 0,
"start_time": 0,
"end_time": 0
{
"claim": false,
"claim_id": 0,
"start_time": 0,
"end_time": 0
}
```

View file

@ -1,6 +1,8 @@
# Cash Coins
* */api/v3/users/`userID`/cash-coins* = Some thing about cashout and money in the account
Request Method: GET
* */api/v3/users/`userID`/cash-coins* = Something about cashout and money in the account
* Response Example:
```js

View file

@ -1,6 +1,8 @@
# Coins
* */api/v3/users/`userID`/coins* = Get info about your account coins and tickets count
Request Method: GET
* */users/`userID`/coins* = Get info about your account coins and tickets count
* Response Example:
```js

View file

@ -1,6 +1,8 @@
# Daily Logins
* */api/v3/users/`userID`/followers/daily-logins* = Some info about the daily login of YOUR user, you can't view other users daily-login info and streaks
Request Method: GET
* */users/`userID`/followers/daily-logins* = Some info about the daily login of YOUR user, you can't view other users daily-login info and streaks
* Response Example:
```js

View file

@ -1,6 +1,8 @@
# Followers Count
* */api/v3/users/`userID`/followers/count* = Get the follower count of channelID
Request Method: GET
* */users/`userID`/followers/count* = Get the follower count of channelID
* Response Example:
```js

View file

@ -1,6 +1,8 @@
# Free Gifts
* */api/v3/users/`userID`/free-gifts* = Some thing about free gifts and tokens
Request Method: GET
* */users/`userID`/free-gifts* = Something about free gifts and tokens
* Response Example:
```js

View file

@ -1,6 +1,8 @@
# Push Message Sessions
* */api/v3/users/`userID`/push-message-sessions* = Get some things about the notificactions
Request Method: GET
* */users/`userID`/push-message-sessions* = Get Somethings about the notificactions
* Response Example:
```js

View file

@ -1,6 +1,8 @@
# userID
* */api/v3/users/`userID`* = Get info about the userID account
Request Method: GET
* */users/`userID`* = Get info about the userID account
* Response Example:
```js
@ -37,7 +39,7 @@
"name": "ffmpeg and shit!", // Title of the stream
"streaming_lang": "en", // Language of this user
"description": "", // Description of this channel
"flag": 16, // wtf is this?????????
"flag": 16, // Flag
// From internal files: enableUploadVod = !!(flag & 512); enableHosting = !!(flag & 1024);
// I think it means that if the user has the flag 512, he is allowed to upload vods, if he has the flag 1024, he can host other streamers.
// There is also a hidden flag in some streamers which is 5813, 5300, 1716, and other mores, i think a higher flag means higher priority or higher permissions.
@ -47,15 +49,13 @@
// This can be converted to human time with the same Unix command mentioned before
"share_url": "https://booyah.live/channels/12345678", // The share url when a user press the share button
"alias": "SomeAlias", // Alias of the user
// Obvious strings
"is_streaming": false,
"is_verified_streamer": false,
"is_content_creator": false,
"is_enable_vod": false,
"is_enable_download_vod": false,
"is_enable_long_clip": false,
// Obvious strings
"is_enable_lucky_draw": false, // wtf is lucky draw
"is_enable_lucky_draw": false, // Lucky draw is a Free Fire event
"social_links": [] // Social links that the user has posted on his channel
}
}