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

50
LINES

< > BotCompany Repo | #1001893 // Generic chat bot algorithm using timestamped responses (developing)

JavaX source code - run with: x30.jar

!752

p {
  L<Msg> msgs = getLastMsgs(); // must be in order
  for (Msg msg : msgs)
    onMsg(msg);
  now();
  
  while true {
    msgs = getMoreMsgs();
    for (Msg msg : msgs)
      onMsg(msg);
    if (!msgs.isEmpty())
      now();
    sleepSeconds(10);
  }
}

static void onMsg(Msg msg) {
  if (isQuestion(msg))
    questions.add(msg);
  else if (isAnswer(msg)) {
    Msg q = getQuestion(msg);
    questions.remove(q);
    if (current == q)
      current = null;
  }
}

static void now() {
  if (current != null) ret; // still waiting for my own answer to appear
  if (!questions.isEmpty()) {
    current = questions.get(0);
    questions.remove(0);
    postAnswer(current);
  }
}

static Msg getQuestion(Msg a) {
  // TODO
}

static void postAnswer(Msg q) {
  // call the bot
  // if answer == null:
  //   if we're directly targeted in the question (@blabot),
  //   say "i don't know".
  //   if we're not targeted, delete the question from list.
  // if there is an answer, post the answer with time stamp of question.
}

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: #1001893
Snippet name: Generic chat bot algorithm using timestamped responses (developing)
Eternal ID of this version: #1001893/1
Text MD5: 38858f8436fd5bb2289a8abd9555b4ad
Author: stefan
Category:
Type: JavaX source code
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2015-12-06 18:32:48
Source code size: 1076 bytes / 50 lines
Pitched / IR pitched: No / Yes
Views / Downloads: 639 / 589
Referenced in: [show references]