const cuefaHash = {
'stone': ['scissors', 'lizard'],
'scissors': ['paper', 'lizard'],
'paper': ['stone', 'spock'],
'lizard': ['paper', 'spock'],
'spock': ['stone', 'scissors'],
};
const helper = {
random(hash) {
const array = Object.keys(hash);
return array[Math.floor(Math.random() * array.length)];
},
compare(item1, item2) {
if(cuefaHash[item1].includes(item2)) return 'Я ПОБЕДИЛ!!!';
if(cuefaHash[item2].includes(item1)) return 'ВЫ ПОБЕДИЛИ !!!';
return 'НИЧЬЯ !!!';
}
};
bot.onText(/(.+)/, function (msg, match) {
console.log('===========================\n', msg,'\n----------------------------\n');
const opts = {
reply_markup: {
inline_keyboard: [
[{text: 'startCuefa', callback_data: 'startCuefa'}],
]
}
};
bot.sendMessage(msg.from.id, 'Original Text', opts);
});
bot.on('callback_query', async (query) => {
const data = query.data
if (data === 'startCuefa') {
await bot.editMessageText(
'Что выбираете?',
{
chat_id: query.message.chat.id,
message_id: query.message.message_id
}
);
await bot.editMessageReplyMarkup(
{
inline_keyboard: [
Object.keys(cuefaHash).map(item=>({text: item, callback_data: item}))
],
},
{
chat_id: query.message.chat.id,
message_id: query.message.message_id
}
);
} else {
const botSelect = helper.random(cuefaHash);
const text = helper.compare(botSelect, data)
await bot.editMessageText(
`Я выбрал ${botSelect}, вы выбрали ${data}, ${text}\n сыграем еще раз?`,
{
chat_id: query.message.chat.id,
message_id: query.message.message_id
}
);
await bot.editMessageReplyMarkup(
{
inline_keyboard: [
[{text: 'startCuefa', callback_data: 'startCuefa'}],
]
},
{
chat_id: query.message.chat.id,
message_id: query.message.message_id
}
);
}
});