Bug fixes, Demo added

This commit is contained in:
Mahdi Dibaiee
2015-06-27 04:26:28 +04:30
parent 38790c5ce2
commit b5f782edb6
5 changed files with 70 additions and 17 deletions

View File

@ -1,5 +1,4 @@
import API from './api';
import * as _ from './utils';
import {EventEmitter} from 'events';
const DEFAULTS = {
@ -60,7 +59,7 @@ export default class Bot {
});
}.bind(this);
this.api.getMe().then(response => {
return this.api.getMe().then(response => {
this.info = response.result;
poll();
});
@ -104,13 +103,19 @@ export default class Bot {
}
this.on('update', function listener(result) {
console.log(result);
console.log(messageId);
const update = result.find(({message}) => {
return message.chat.id === chat &&
message.reply_to_message.message_id === messageId;
// if in a group, there will be a reply to this message
console.log(message.chat.id, chat);
if (chat < 0) {
return message.chat.id === chat &&
message.reply_to_message.message_id === messageId;
} else {
return message.chat.id === chat;
}
});
console.log(text, '=>', update);
if (update) {
resolve(update);
@ -128,17 +133,21 @@ export default class Bot {
askQuestion(chat, title, answers = []) {
return new Promise((resolve, reject) => {
const rows = [answers];
this.keyboard(rows, false, true).force()
this.keyboard(answers, false, true).force()
.message(chat, title).then(update => {
const message = update.message;
let answer;
if (_.isNumber(message.text)) {
answer = answers[+message.text];
} else {
answer = answers.find(a => a === message.text);
}
console.log(message);
answers.forEach(function find(a) {
if (Array.isArray(a)) {
a.forEach(find);
}
if (a === message.text) {
answer = a;
}
});
console.log(title, '=', answer);
if (answer) {
resolve(answer, update);

View File

@ -1,3 +0,0 @@
export function isNumber(string) {
return !isNaN(parseFloat(string));
}