Libraryless. Click here for Pure Java version (4233L/28K).
sclass GazelleTalkToBot { long botID; // Gazelle post ID S cookie = "test_" + aGlobalID(); int n; // number of messages loaded double serverTimeout = 10, networkTimeout = 10; new L<Msg> msgs; *(long *botID) {} swappable void onNewDialog() {} swappable void onNewMsg(Msg msg) {} void grab { S json = loadPageWithTimeoutAndParamsSilently(serverTimeout+networkTimeout, "https://gazelle.rocks/incremental", +cookie, _botConfig := "codePost=" + botID, json := 1, a := zeroToNull(n), timeout := iceil(serverTimeout)); if (empty(json)) ret; // just timed out Map map = decodeJSONMap(json); onResult(map); } swappable void onResult(Map map) { if (map.containsKey("n")) n = toInt(map.get("n")); if (isTrue(map.get("newDialog"))) onNewDialog(); fOr (Map m : (L<Map>) map.get("msgs")) { new Msg msg; msg.fromUser = isTrue(m.get("fromUser")); msg.text = (S) m.get("text"); msg.time = toLong(m.get("time")); msgs.add(msg); print("Got msg: " + msg); pcall { onNewMsg(msg); } } } // send a message to bot void send(S message) { S response = loadPageWithTimeoutAndParamsSilently(networkTimeout, "https://gazelle.rocks/msg", +cookie, _botConfig := "codePost=" + botID, +message); if (!startsWith(response, "OK")) print("Server said: " + response); } }
Began life as a copy of #1027721
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, vouqrxazstgt
No comments. add comment
Snippet ID: | #1030351 |
Snippet name: | GazelleTalkToBot - web client for a Gazelle.rocks bot |
Eternal ID of this version: | #1030351/9 |
Text MD5: | fdfea49ae20acf02351d522a87d0eaa6 |
Transpilation MD5: | 2c69f2d0e82a3515fe776ee4ef28d80c |
Author: | stefan |
Category: | javax / gazelle.rocks |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2020-12-05 22:34:43 |
Source code size: | 1459 bytes / 48 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 226 / 491 |
Version history: | 8 change(s) |
Referenced in: | #1034167 - Standard Classes + Interfaces (LIVE, continuation of #1003674) |