2
0
Эх сурвалжийг харах

Unhardcode channel for emote_downloader

rexim 4 жил өмнө
parent
commit
73cdf31851
1 өөрчлөгдсөн 33 нэмэгдсэн , 3 устгасан
  1. 33 3
      src/emote_downloader.cpp

+ 33 - 3
src/emote_downloader.cpp

@@ -435,8 +435,28 @@ void create_all_directories(Path dirpath)
 
 Fixed_Array<Curl_Download, 1024> downloads;
 
-int main(void)
+void usage(FILE *stream)
 {
+    println(stdout, "./emote_downloader <channel-name> <channel-id>");
+}
+
+int main(int argc, char **argv)
+{
+    Args args = {argc, argv};
+    args.shift();               // skip program name
+
+    if (args.empty()) {
+        usage(stderr);
+        panic("ERROR: channel-name is not provided");
+    }
+    auto channel_name = args.shift();
+
+    if (args.empty()) {
+        usage(stderr);
+        panic("ERROR: channel-id is not provided");
+    }
+    auto channel_id = args.shift();
+
     curl_global_init(CURL_GLOBAL_DEFAULT);
     defer(curl_global_cleanup());
 
@@ -463,10 +483,20 @@ int main(void)
 
     curl_multi_setopt(cm, CURLMOPT_MAXCONNECTS, MAX_PARALLEL);
 
+    char channel_url_buffer[1024];
+    String_Buffer channel_url = {sizeof(channel_url_buffer), channel_url_buffer};
+
     append_global_bttv_mapping(curl, "https://api.betterttv.net/3/cached/emotes/global", mapping, &downloads);
-    append_channel_bttv_mapping(curl, "https://api.betterttv.net/3/cached/users/twitch/110240192", mapping, &downloads);
+
+    sprint(&channel_url, "https://api.betterttv.net/3/cached/users/twitch/", channel_id);
+    append_channel_bttv_mapping(curl, channel_url.data, mapping, &downloads);
+    channel_url.size = 0;
+
     append_global_ffz_mapping(curl, mapping, &downloads);
-    append_room_ffz_mapping(curl, "https://api.frankerfacez.com/v1/room/tsoding", mapping, &downloads);
+
+    sprint(&channel_url, "https://api.frankerfacez.com/v1/room/", channel_name);
+    append_room_ffz_mapping(curl, channel_url.data, mapping, &downloads);
+    channel_url.size = 0;
 
     size_t transfers = 0;
     for (transfers = 0; transfers < min(downloads.size, MAX_PARALLEL); ++transfers) {