Sync Messages From Susi Server

in utopian-io •  7 years ago  (edited)

susi_chromebot.gif

Susi-Chromebot is one the Susi enabled Chrome extensions with Susi-Ai enabled.
People can message and susi responds with a response from Susi-Skill in skills.susi.ai

Bug Fixes

It fixes this issue

Description

There was no sync between messages sent via chromebot and other clients of Susi.
For eg. If a user has a chat history in Susi Mobile app, the chat history should also be present in chromebot.

  • What was the solution?
  • Take the old history from susi api endpoint https://api.susi.ai/susi/memory.json?access_token=${accessToken};
    (Yes, I know ES6)
  • put the messages in correct Syncing order with the message chat box.
    Screenshot from 2018-01-16 00-36-01.png
  • Make sure the new messages are sent back to server.

Describe briefly how you fixed the issue(s).

  • Do the Above mentioned Steps .But, In ES6
    I had alot of trouble, as the initial code was Not that good.

New Features

  • Restore messages from chrome storage (New + Old)
  • How did you implement it/them?
    by using brain.exe And some Bad Bad implementation of code

function retrieveChatHistory() {
var serverHistoryEndpoint = BASE_URL + "/susi/memory.json?access_token=" + accessToken;
$.ajax({
url: serverHistoryEndpoint,
dataType: "jsonp",
jsonpCallback: "u",
jsonp: "callback",
crossDomain: "true",
success: function(response) {
var messages = [];
for (var i = response.cognitions.length - 1; i >= 0; i--) {
var queryAnswerPair = response.cognitions[i];
var queryTimes = new Date(Date.parse(queryAnswerPair.query_date));
var answerTimes = new Date(Date.parse(queryAnswerPair.answer_date));
var queryInside = queryAnswerPair.query;
var answerInside = queryAnswerPair;
var msgObj = {
query: queryInside,
answer: answerInside,
queryTime: queryTimes,
answerTime: answerTimes
}
messages.push(msgObj);
localStorage.setItem("messages", JSON.stringify(messages));
}
}
});
}

  • Roadmap
    Adding a timestamp with the messages as it currently only fetches the current time.

Thanks For reading ~!!



Posted on Utopian.io - Rewarding Open Source Contributors

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @sachincool I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x