node-telegram-api/lib/classes/Keyboard.js

46 lines
963 B
JavaScript
Raw Normal View History

2015-06-28 01:04:18 +00:00
export default class Keyboard {
2015-06-28 16:37:05 +00:00
constructor(options = {keyboard: [], resize_keyboard: false, one_time_keyboard: false, selective: false}) {
this.properties = options;
2015-06-28 01:04:18 +00:00
}
2015-06-28 16:37:05 +00:00
set keyboard(value) {
this.setProperties({keyboard: value});
2015-06-28 01:04:18 +00:00
}
2015-06-28 16:37:05 +00:00
set resizeKeyboard(value) {
this.setProperties({resize_keyboard: value});
2015-06-28 01:04:18 +00:00
}
2015-06-28 16:37:05 +00:00
set oneTimeKeyboard(value) {
this.setProperties({one_time_keyboard: value});
2015-06-28 01:04:18 +00:00
}
2015-06-28 16:37:05 +00:00
set selective(value) {
this.setProperties({selective: value});
2015-06-28 01:04:18 +00:00
}
2015-06-28 16:37:05 +00:00
get keyboard() {
return this.getProperties('keyboard');
2015-06-28 01:04:18 +00:00
}
2015-06-28 16:37:05 +00:00
get resizeKeyboard() {
this.getProperties('resize_keyboard');
2015-06-28 01:04:18 +00:00
}
2015-06-28 16:37:05 +00:00
get oneTimeKeyboard() {
this.getProperties('one_time_keyboard');
2015-06-28 01:04:18 +00:00
}
2015-06-28 16:37:05 +00:00
get selective() {
this.getProperties('selective');
2015-06-28 01:04:18 +00:00
}
setProperties(object) {
2015-06-28 16:37:05 +00:00
this.properties = Object.assign(this.properties, object);
}
getProperties(object) {
return object ? this.properties[object] : this.properties;
2015-06-28 01:04:18 +00:00
}
}