Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

31
LINES

< > BotCompany Repo | #1002435 // Addressed Bot - am I addressed?

JavaX source code [tags: use-pretranspiled] - run with: x30.jar

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: 673 / 1189
Referenced in: [show references]