This is a beg command with cooldown for Starblaster's Economy App. You will need to make a copy of this google sheet if you havent done so already: https://docs.google.com/spreadsheets/d/1eetqNHt6wa0_XOUhHloKP-B9krikpshk1IqEPigSKCY/template/preview
const lib = require('lib')({token: process.env.STDLIB_SECRET_TOKEN});
module.exports = async (event, context) => {
const beg = Math.floor(Math.random() * 500);
let userId =
context.params.event.mentions[0]?.id || context.params.event.author.id;
let trigger = await lib.discord.users['@release'].retrieve({
user_id: context.params.event.author.id,
});
let member = await lib.discord.guilds['@release'].members.retrieve({
user_id: userId,
guild_id: context.params.event.guild_id,
});
let database = await lib.googlesheets.query['@0.3.0'].distinct({
range: `A:E`,
bounds: `FIRST_EMPTY_ROW`,
where: [
{
user_id__is: event.author.id,
},
],
field: `money`,
});
if (!database.distinct.values[0]) {
await lib.discord.channels['@0.3.0'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: '',
message_reference: {message_id: context.params.event.id},
tts: false,
embeds: [
{
type: 'rich',
title: ``,
description: `<@${context.params.event.author.id}> **You dont have an account, use ${process.env.prefix}createbank**`,
color: 0x237599,
},
],
});
return;
}
let cooldown_time = 30;
let cooldown = await lib.utils.kv['@0.1.16'].get({
key: `${context.params.event.author.id}_cooldown`,
});
if (cooldown) {
let remaining_time = Math.floor(
parseInt(cooldown + cooldown_time * 1000) - new Date().getTime()
);
let time_sec = Math.floor(remaining_time / 1000);
await lib.discord.channels['@0.3.0'].messages.create({
channel_id: context.params.event.channel_id,
content: '',
message_reference: {message_id: context.params.event.id},
tts: false,
embeds: [
{
type: 'rich',
title: '',
description: `You can beg again in \`${time_sec}sec\`\n`,
color: 0x237599,
author: {
name: `Woah dont beg so much..`,
icon_url: member.user.avatar_url,
},
footer: {
text: `The default cooldown is 30s`,
},
},
],
});
} else {
await lib.utils.kv['@0.1.16'].set({
key: `${context.params.event.author.id}_cooldown`,
value: new Date().getTime(),
ttl: cooldown_time,
});
let updatedSheet = await lib.googlesheets.query['@0.3.0'].update({
range: `A:F`,
bounds: 'FIRST_EMPTY_ROW',
where: [
{
user_id__is: event.author.id,
},
],
fields: {
money: parseInt(database.distinct.values[0]) + beg,
},
});
await lib.discord.channels['@0.3.0'].messages.create({
channel_id: `${context.params.event.channel_id}`,
content: '',
message_reference: {message_id: context.params.event.id},
tts: false,
embeds: [
{
type: 'rich',
title: '',
description: `
**Received:**: $${beg}
**You now have**: $${updatedSheet.rows[0].fields['money']}\``,
color: 0x237599,
author: {
name: `Oh you poor begger..`,
icon_url: member.user.avatar_url,
},
footer: {
text: ``,
},
},
],
});
}
};