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

52
LINES

< > BotCompany Repo | #1002477 // Nasty Eleu

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

Libraryless. Click here for Pure Java version (1106L/8K/24K).

1  
!759
2  
3  
// Should be an "always" bot so it notices mode changes.
4  
5  
static new HashMap<S, Long> on; // dialog ID -> start time
6  
7  
static long timeout = 5*60*1000; // 5 minutes
8  
9  
static L<S> nastyStuff = toLinesFullTrim([[
10  
Go away!
11  
What do you want?
12  
I DON'T KNOW
13  
I AM BORED
14  
Do it yourself!
15  
I'm not your bitch!
16  
Leave me alone!
17  
You annoy me!!
18  
]]);
19  
20  
synchronized static S answer(S s) {
21  
  S dialog = getDialogID();
22  
  //printF("nasty: * *", dialog, s);
23  
  if (match("mode nasty", s) || match("nasty mode", s)) {
24  
    print("Nasty on: " + getDialogID());
25  
    on.put(dialog, now());
26  
  } else if (isNasty() && (match("mode *", s) || match("* mode", s) || match("help", s) || match("exit", s) || match("stop", s))) {
27  
    print("Nasty off: " + dialog);
28  
    on.remove(dialog);
29  
    ret "OK, exiting nasty mode.";
30  
  } else if (match("mode", s) && isNasty())
31  
    ret "I'm in " + quote("nasty") + " mode (" + formatSnippetID(getProgramID()) + ")";
32  
  
33  
  if (!isNasty()) null;
34  
  
35  
  ret randomElement(nastyStuff);
36  
}
37  
38  
static boolean isNasty() {
39  
  cleanUpMap();
40  
  ret on.containsKey(getDialogID());
41  
}
42  
43  
// remove the expired entries
44  
static void cleanUpMap() {
45  
  new HashMap<S, Long> newMap;
46  
  for (S dialogID : keys(on)) {
47  
    long time = on.get(dialogID);
48  
    if (!isExpired(time, timeout))
49  
      newMap.put(dialogID, time);
50  
  }
51  
  on = newMap;
52  
}

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: #1002477
Snippet name: Nasty Eleu
Eternal ID of this version: #1002477/1
Text MD5: f1f8826ee2a1dc7766ea0da2deb8cd10
Transpilation MD5: b0d97daeb72f791d3a445d2c08ce7c0f
Author: stefan
Category: eleu
Type: JavaX source code
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2016-01-26 19:43:49
Source code size: 1366 bytes / 52 lines
Pitched / IR pitched: No / No
Views / Downloads: 730 / 1147
Referenced in: [show references]