Libraryless. Click here for Pure Java version (954L/7K/22K).
1 | !752 |
2 | |
3 | answer {
|
4 | S rest = amIAddressed(s); |
5 | if (getUserName() == null /* web */ || rest != null) |
6 | miniChat("attn/" + (rest == null ? s : rest));
|
7 | else |
8 | miniChat(""); // indicate we have nothing to say
|
9 | } |
10 | |
11 | static L<S> prefs = litlist("hi", "hey", "hello", "yo", "uhm", "oh", "dear", "dearest");
|
12 | static L<S> names = litlist("eleu", "eleutheria", "computer", "bot");
|
13 | |
14 | // returns rest of input (without the greeting) |
15 | static S amIAddressed(S s) {
|
16 | new Matches m; |
17 | for (S p : prefs) |
18 | if (matchStart(p, s, m)) |
19 | s = m.rest(); |
20 | for (S name : names) |
21 | if (matchStart(name, s, m)) |
22 | ret dropPunctuationFromStart(m.rest()); |
23 | ret null; |
24 | } |
25 | |
26 | static S dropPunctuationFromStart(S s) {
|
27 | s = s.trim(); |
28 | while (!empty(s) && ",:!-.".indexOf(s.charAt(0)) >= 0) |
29 | s = s.substring(1); |
30 | ret s.trim(); |
31 | } |
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: | #1002435 |
| Snippet name: | Addressed Bot - am I addressed? |
| Eternal ID of this version: | #1002435/1 |
| Text MD5: | 0c5f1a38a2f42c91c33769dd4375aa83 |
| Transpilation MD5: | 2bde5e5325e9098e0225e5441ea0036d |
| Author: | stefan |
| Category: | javax |
| Type: | JavaX source code |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2016-01-22 00:37:10 |
| Source code size: | 836 bytes / 31 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 1017 / 1596 |
| Referenced in: | [show references] |