Libraryless. Click here for Pure Java version (4054L/27K).
1 | sclass CruddieFollower {
|
2 | S cookie; |
3 | int n; |
4 | double timeout = 70; |
5 | |
6 | swappable void newDialog() {}
|
7 | swappable void botUtterance(S html) {
|
8 | print("Bot said (HTML): " + html);
|
9 | vmBus_send cruddieSaid(cookie, html); |
10 | } |
11 | swappable void onUserUtterance(S html) {} // TODO
|
12 | swappable void onBotUtterance(S html) {}
|
13 | |
14 | *(S cookie) { this(cookie, false); }
|
15 | |
16 | *(S *cookie, bool withHistory) {
|
17 | if (!withHistory) |
18 | n = parseInt(loadPageWithParamsSilently("https://cruddie.site/bot/n", +cookie);
|
19 | } |
20 | |
21 | // may block for 60 seconds. returns HTML |
22 | public S get() {
|
23 | // TODO: I think cruddie.site doesn't close existing connections when rebooting (?) |
24 | S src = loadPageWithTimeoutAndParamsSilently(timeout, "https://cruddie.site/bot/incremental", |
25 | +cookie, a := zeroToNull(n)); |
26 | S newN = firstIntAsString_regexp(src); |
27 | if (nempty(newN)) {
|
28 | n = parseInt(newN); |
29 | if (cic(src, "NEW DIALOG -->")) newDialog(); |
30 | else |
31 | doForEach botUtterance(regexpAllFirstGroups( |
32 | [[bot-utterance">(.*?)<]], src)); |
33 | } |
34 | ret src; |
35 | } |
36 | } |
download show line numbers debug dex old transpilations
Travelled to 7 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt, xrpafgyirdlv
No comments. add comment
| Snippet ID: | #1027721 |
| Snippet name: | CruddieFollower - web client for cruddie |
| Eternal ID of this version: | #1027721/22 |
| Text MD5: | 1889aef814a05c031103e2a266ecb3d6 |
| Transpilation MD5: | e1746412c7cfb6fa656cec0418445520 |
| Author: | stefan |
| Category: | javax / cruddie |
| Type: | JavaX fragment (include) |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2020-04-20 23:12:03 |
| Source code size: | 1113 bytes / 36 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 508 / 941 |
| Version history: | 21 change(s) |
| Referenced in: | [show references] |