diff options
author | turret <turret@duck.com> | 2025-06-22 19:15:47 -0500 |
---|---|---|
committer | turret <turret@duck.com> | 2025-06-22 19:15:47 -0500 |
commit | abb1c579d29b3fb61e79601518799beca46609c3 (patch) | |
tree | 8585a73b78efb5b0b2c52fb0e4b6f46ff134a1e5 /example | |
parent | 35d7228fb15bc7b262745fef179f79d1ac0b4045 (diff) | |
download | discord-bot-skeleton-abb1c579d29b3fb61e79601518799beca46609c3.tar.gz discord-bot-skeleton-abb1c579d29b3fb61e79601518799beca46609c3.tar.bz2 discord-bot-skeleton-abb1c579d29b3fb61e79601518799beca46609c3.zip |
net: api changes, data export, ident, an more
Move HELLO IDENT functionality into util/net
Add ready event in example/hello, grab app id and print info
Change http_request family of functions
- Remove bufsiz for response code
- Remove post input pipe in exchange for simple writebuf
Add heartbeat latency ack tracking
Add websocket handle close function (dummy function, to be extended
upon)
Add message for invalid token
Diffstat (limited to 'example')
-rw-r--r-- | example/hello.c | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/example/hello.c b/example/hello.c index fe208d5..41ef753 100644 --- a/example/hello.c +++ b/example/hello.c @@ -7,35 +7,32 @@ #include <dbs/event.h> #include <dbs/log.h> +#include <dbs/util.h> extern CURL *ws_handle; +char *app_id; int hello(cJSON *data) { - cJSON *ev_payload = cJSON_CreateObject(); - cJSON *ev_data = cJSON_CreateObject(); - cJSON_AddNumberToObject(ev_payload, "op", 2); - cJSON_AddItemToObject(ev_payload, "d", ev_data); - - cJSON_AddStringToObject(ev_data, "token", getenv("TOKEN")); - cJSON_AddNumberToObject(ev_data, "intents", 0); - - cJSON *properties = cJSON_CreateObject(); - cJSON_AddItemToObject(ev_data, "properties", properties); - cJSON_AddStringToObject(properties, "browser", "DBS"); - cJSON_AddStringToObject(properties, "device", "DBS"); - - struct utsname unamed; - uname(&unamed); - cJSON_AddStringToObject(properties, "os", unamed.sysname); - - char *msg = cJSON_PrintUnformatted(ev_payload); - size_t sent; - curl_ws_send(ws_handle, msg, strlen(msg), &sent, 0, CURLWS_TEXT); - free(msg); - cJSON_Delete(ev_payload); - print("hello: sent IDENT"); + print("hello: hello from userland!"); return 0; } declare_event(HELLO, hello); + +int ready(cJSON *data) +{ + print("hello: received ready event!"); + + cJSON *app = cJSON_GetObjectItemCaseSensitive(data, "application"); + char *id = js_getStr(app, "id"); + app_id = malloc(strlen(id) + 1); + strcpy(app_id, id); + + cJSON *user = cJSON_GetObjectItemCaseSensitive(data, "user"); + char *username = js_getStr(user, "username"); + print("hello: logged in! my name is %s (id %s)", username, app_id); + + return 0; +} +declare_event(READY, ready); |