Kara is a digital assistent aimed to help in any daily situation. => Moved to /LunaDev/luna-development https://luna-development.net/kara/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.5 KiB

let responses = new Vue({
el: '#kara',
data: {
name: 'Kara',
activeTheme: 'slate',
addModal: {
includeAll: false,
keywords: 'keyword',
responses: [
'Answer #1'
]
},
defaultAddModal: {
includeAll: false,
keywords: 'keyword',
responses: [
'Answer #1'
]
}
},
mounted() {
this.addModal = this.defaultAddModal;
},
methods: {
addMessage(body, bot, me = false) {
this.messages.push({
body: body,
bot: bot,
command: body.search('/') === 0,
me: me,
time: Date.now()
})
},
addResponseToInput() {
this.addModal.responses.push('');
},
addNewReaction() {
let includeAll = this.addModal.includeAll;
let keywords = this.addModal.keywords.split(',');
let responses = this.addModal.responses;
let newReaction = {
includeAll: includeAll,
keywords: keywords,
responses: responses
};
axios.post('/reactions/create', {
reaction: newReaction
}).then((response) => {
alertify.notify('Reaction saved!', 'success');
this.addModal = this.defaultAddModal;
}).catch((error) => {
console.log(error);
alertify.notify(error, 'danger');
});
},
cleanupMessage(message) {
message = message.toLowerCase();
return message.replace('?', '')
.replace('!', '')
.replace('.', '')
.replace(',', '')
.replace('-', '')
.replace('_', '')
.replace('#', '')
.replace('\'', '')
.replace('"', '')
.replace('+', '')
.replace('*', '')
.replace('§', '')
.replace('$', '')
.replace('%', '')
.replace('&', '')
.replace('/', '')
.replace('(', '')
.replace(')', '')
.replace('=', '')
.replace('\\', '')
.replace('@', '')
.replace('~', '')
.replace('…', '');
}
}
});