!halo [user] will give info on users last match
// authenticates you with the API standard library
// type `await lib.` to display API autocomplete
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
if (context.params.event.content.startsWith('!halo')) {
const args = context.params.event.content.split(' ').slice(1);
if (!args.length)
return lib.discord.channels['@0.1.2'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: `No arguments provided.`,
});
let gamertag = `${args}`;
let matchResult = await lib.halo.infinite['@0.0.3'].stats.matches.list({
gamertag: gamertag,
limit: {
count: 1,
offset: 0,
},
mode: 'matchmade',
});
let lastMatchId = await lib.utils.kv['@0.1.16'].get({
key: `halo-infinite-last-match`,
defaultValue: null,
});
let match = matchResult.data[0];
if (match.id !== lastMatchId) {
await lib.discord.channels['@0.1.1'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: '',
tts: false,
embed: {
type: 'rich',
title: ``,
description: `๐ฎ **${gamertag}** ${
match.player.outcome === 'win' ? 'won' : 'lost'
} a ${match.details.category.name} game on ${
match.details.map.name
}!\n **๐ซ Kills:** ${
match.player.stats.core.summary.kills
}\n **โ ๏ธ Deaths:** ${
match.player.stats.core.summary.deaths
}\n **๐ฏ KDR:** ${match.player.stats.core.kdr.toFixed(
2
)}\n **โฑ Match Duration:** ${match.duration.human}`,
color: 0xb67afb,
},
});
}
}