Libraryless. Click here for Pure Java version (2221L/14K/48K).
1 | !752 |
2 | static Map<S, S> definitions = new HashMap<S, S>(); |
3 | p{
|
4 | makeBot("Definition bot");
|
5 | load("definitions");
|
6 | } |
7 | |
8 | answer{
|
9 | if(matchStart("define * : *", s, m)){
|
10 | if(definitions.get(m.unq(0)) == null){
|
11 | S def = s.replace("define " + m.unq(0) + " : ","" );
|
12 | definitions.put(m.unq(0), def); |
13 | save("definitions");
|
14 | ret "Defined " + m.unq(0) + ". Definition: " + def; |
15 | }else{
|
16 | ret m.unq(0) + " is already defined. Definition: \"" + definitions.get(m.unq(0)) + "\""; |
17 | } |
18 | } |
19 | if(matchStart("meaning of * is *", s, m)){
|
20 | if(definitions.get(m.unq(0)) == null){
|
21 | S def = s.replace("meaning of " + m.unq(0) + " is ","" );
|
22 | definitions.put(m.unq(0), def); |
23 | save("definitions");
|
24 | ret "Defined " + m.unq(0) + ". Definition: " + def; |
25 | }else{
|
26 | ret m.unq(0) + " is already defined. Definition: \"" + definitions.get(m.unq(0)) + "\""; |
27 | } |
28 | } |
29 | if(matchStart("get def *", s, m) || matchStart("what is the definition of *", s, m)){
|
30 | if(definitions.get(m.unq(0)) == null){
|
31 | ret "There is no such thing defined. Define it yourself with ```define * : *```"; |
32 | }else{
|
33 | ret "Definition of " + m.unq(0) + " is \"" + definitions.get(m.unq(0)) + "\""; |
34 | } |
35 | } |
36 | if(matchStart("remove def *", s, m) || matchStart("undefine *", s, m)){
|
37 | if(definitions.get(m.unq(0)) == null){
|
38 | ret "The word " + m.unq(0) + " isn't defined."; |
39 | }else{
|
40 | definitions.remove(m.unq(0)); |
41 | save("definitions");
|
42 | ret "Removed " + m.unq(0) + " from definitions list."; |
43 | } |
44 | } |
45 | if(matchStart("edit def * : *", s, m)){
|
46 | if(definitions.get(m.unq(0)) == null){
|
47 | ret "The word " + m.unq(0) + " isn't defined."; |
48 | }else{
|
49 | S def = s.replace("edit def " + m.unq(0) + " : ","" );
|
50 | definitions.put(m.unq(0),def); |
51 | save("definitions");
|
52 | ret "Edited " + m.unq(0) + ". New definition: \"" + def + "\""; |
53 | } |
54 | } |
55 | if(match("all defs", s) || match("list definitions", s) || match("list all definitions", s)){
|
56 | if(definitions == null){
|
57 | ret "There is nothing defined right now."; |
58 | }else{
|
59 | ret "Here is a list of definitions: ```"+definitions+"```"; |
60 | } |
61 | } |
62 | if(match("list all defined words", s) || match("list defined words", s) || match("defkeys", s)){
|
63 | if(definitions == null){
|
64 | ret "There is nothing defined right now."; |
65 | }else{
|
66 | ret "These are all the defined words: ``` " + definitions.keySet() + " ```"; |
67 | } |
68 | } |
69 | } |
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1002323 |
| Snippet name: | Definition bot |
| Eternal ID of this version: | #1002323/1 |
| Text MD5: | 021e9d4d20f70b5f49d1f1f86f294355 |
| Transpilation MD5: | bd531c68922b4be0bfd9d4fcd8a94088 |
| Author: | bgrgndz |
| Category: | |
| Type: | JavaX source code |
| Public (visible to everyone): | Yes |
| Archived (hidden from active list): | No |
| Created/modified: | 2016-01-25 19:58:46 |
| Source code size: | 2507 bytes / 69 lines |
| Pitched / IR pitched: | No / No |
| Views / Downloads: | 1338 / 2213 |
| Referenced in: | [show references] |