item transfer, item to buy other items, item income, unbuyable items

This commit is contained in:
stjet
2024-09-13 18:17:44 +00:00
parent 3145f52df7
commit c2d1cd2af1
18 changed files with 407 additions and 56 deletions

View File

@@ -138,7 +138,7 @@ const commands = [
},
{
name: "create_item",
description: "Create item (admin only)",
description: "Create item, cannot be made unbuyable after creation (admin only)",
options: [
{
type: 3,
@@ -146,18 +146,18 @@ const commands = [
description: "Name of the item",
required: true,
},
{
type: 4,
name: "price",
description: "Price of the item",
required: true,
},
{
type: 3,
name: "description",
description: "Description of the item",
required: true,
},
{
type: 4,
name: "price",
description: "Price of the item (omit to make unbuyable)",
required: false,
},
{
type: 5,
name: "usable",
@@ -170,6 +170,12 @@ const commands = [
description: "Roles that are required to buy this item. /edit_item to add multiple",
required: false,
},
{
type: 3,
name: "items",
description: "Items to give along with role income. In format name,quantity|name,quantity",
required: false,
},
//
],
},
@@ -297,6 +303,86 @@ const commands = [
},
],
},
{
name: "role_income",
description: "See various role income related actions",
options: [
{
type: 1,
name: "list",
description: "List all role incomes",
},
{
type: 1,
name: "create",
description: "Create a role income (admin only)",
options: [
{
type: 8,
name: "role",
description: "Role to give role income to",
required: true,
},
{
type: 4,
name: "hours",
description: "Number of hours between payouts",
required: true,
},
{
type: 4,
name: "income",
description: "Amount to give per user per payout",
required: true,
},
{
type: 3,
name: "items",
description: "Items to give along with role income. In format name,quantity|name,quantity",
required: false,
},
],
},
{
type: 1,
name: "delete",
description: "Delete a role income (admin only)",
options: [
{
type: 8,
name: "role",
description: "Role to give delete",
required: true,
},
],
},
]
},
{
name: "transfer_item",
description: "Give a(n) item(s) to another user",
options: [
{
type: 3,
name: "name",
description: "Name of the item",
required: true,
autocomplete: true,
},
{
type: 6,
name: "target",
description: "The user to send to",
required: true,
},
{
type: 4,
name: "quantity",
description: "Amount to transfer",
required: true,
},
],
},
];
(new REST().setToken(process.env.DISCORD_TOKEN)).put(Routes.applicationCommands(process.env.CLIENT_ID), { body: commands }).then(() => console.log("Finished reloading slash commands"));