Last active
July 18, 2017 16:52
-
-
Save savely-krasovsky/9d836533a3f78b4a1645013a407dc343 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
r.table('users').changes() | |
.filter(r.row('new_val')('profile').ne(r.row('old_val')('profile'))) | |
.then(function (cursor) { | |
cursor.each(async function (err, row) { | |
if (err) new Error(err); | |
сonsole.log('Feed change detected!'); | |
await setLocale({from: {id: row.old_val.id}}) | |
if (row.old_val && row.new_val && row.old_val.profile && row.new_val.profile) { | |
const oldStats = row.old_val.profile.stats.competitive.overall_stats; | |
const newStats = row.new_val.profile.stats.competitive.overall_stats; | |
oldStats.level = oldStats.level + oldStats.prestige * 100; | |
newStats.level = newStats.level + newStats.prestige * 100; | |
const diffStats = { | |
comprank: newStats.comprank - oldStats.comprank, | |
games: newStats.games - oldStats.games, | |
level: newStats.level - oldStats.level, | |
losses: newStats.losses - oldStats.losses, | |
ties: newStats.ties - oldStats.ties, | |
wins: newStats.wins - oldStats.wins, | |
}; | |
function addInfo(name, oldInfo, newInfo, diffInfo) { | |
let text = `${name}\n<code>${oldInfo} | ${newInfo} |`; | |
if (diffInfo > 0) | |
text += ` +${diffInfo} 📈\n</code>`; | |
else if (diffInfo === 0) | |
text += ` ${diffInfo} —\n</code>`; | |
else | |
text += ` ${diffInfo} 📉\n</code>`; | |
return text; | |
} | |
let text = translate("report_header"); | |
text += addInfo(translate("report_rating"), oldStats.comprank, newStats.comprank, diffStats.comprank); | |
text += addInfo(translate("report_wins"), oldStats.wins, newStats.wins, diffStats.wins); | |
text += addInfo(translate("report_losses"), oldStats.losses, newStats.losses, diffStats.losses); | |
text += addInfo(translate("report_ties"), oldStats.ties, newStats.ties, diffStats.ties); | |
text += addInfo(translate("report_level"), oldStats.level, newStats.level, diffStats.level); | |
bot.sendMessage(row.old_val.id, text, {parse_mode: 'HTML'}); | |
} | |
}); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment