Libraryless. Click here for Pure Java version (1898L/12K/41K).
1 | !752 |
2 | |
3 | static boolean activated; |
4 | static long lastAction; |
5 | static long idleTimeout = 5*60*1000; // 5 minutes |
6 | |
7 | static S data; |
8 | |
9 | p { |
10 | load("data"); |
11 | load("lastAction"); |
12 | load("activated"); |
13 | } |
14 | |
15 | synchronized answer { |
16 | if (!tb()) null; |
17 | |
18 | // activating commands |
19 | |
20 | if "consider the string *" { |
21 | activate(); |
22 | data = m.unq(0); |
23 | save("data"); |
24 | ret "OK. " + someInfo(); |
25 | } |
26 | |
27 | if "done with the string" { |
28 | if (!activated) ret "Yeah i know."; |
29 | data = null; |
30 | save("data"); |
31 | deactivate(); |
32 | ret "OK, " + getName() + " deactivating."; |
33 | } |
34 | |
35 | if (!activated || data == null) null; |
36 | |
37 | if (isExpired(lastAction, idleTimeout)) { |
38 | deactivate(); |
39 | null; |
40 | } |
41 | |
42 | if "reverse" |
43 | ret setData(reverseString(data)); |
44 | |
45 | if "show" |
46 | ret show(); |
47 | |
48 | if "length" |
49 | ret l(data) + " chars"; |
50 | } |
51 | |
52 | static S someInfo() { |
53 | if (data == null) ret ""; |
54 | ret "Got " + l(data) + " chars."; |
55 | } |
56 | |
57 | static void activate() { |
58 | activated = true; |
59 | save("activated"); |
60 | lastAction = now(); |
61 | save("lastAction"); |
62 | } |
63 | |
64 | static void deactivate() { |
65 | activated = false; |
66 | save("activated"); |
67 | data = null; |
68 | save("data"); |
69 | } |
70 | |
71 | static S setData(S s) { |
72 | data = s; |
73 | save("data"); |
74 | ret "OK. Got " + show(); |
75 | } |
76 | |
77 | static S show() { |
78 | if (data == null) ret "No data"; |
79 | S s = quote(shorten(data, 100)); |
80 | if (l(data) > 100) s += " (" + l(data) + " chars)"; |
81 | ret s; |
82 | } |
download show line numbers debug dex old transpilations
Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1003003 |
Snippet name: | Strings Bot |
Eternal ID of this version: | #1003003/1 |
Text MD5: | a7a0a4b8a0e73951aefb5a6b208ec3a9 |
Transpilation MD5: | 336b8927a9ccf89f25e52a6383ec6f8b |
Author: | stefan |
Category: | eleu / nl |
Type: | JavaX source code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2016-04-17 21:25:48 |
Source code size: | 1438 bytes / 82 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 708 / 838 |
Referenced in: | [show references] |