Files
plantid-discord-bot/lib/commands.ex
T
owenrees 3e6116423a Feature/projects (#18)
* add up to 5 attachments

* multiclause function event handler

* fix incorrect Cog calls

* add default param as "all" so we can start differentiating the types of identifications in the future - projects / diseases

* abstract message sending

* overwrite global application commands

* pass message from projects to message sending and id functions
2025-12-08 13:17:18 +01:00

99 lines
2.4 KiB
Elixir

defmodule PlantIdDiscordBot.Consumer.Commands do
@moduledoc """
Application commands.
"""
def global_application_commands do
[
%{
name: "source",
description: "Link to the source code for this bot",
options: []
},
%{
name: "invite",
description: "Invite link for this bot",
options: []
},
%{
name: "help",
description: "Help information for this bot",
options: []
},
%{
name: "info",
description: "Information about this bot",
options: []
},
%{
name: "stats",
description: "Statistics about this bot",
options: []
},
%{
name: "status",
description: "API Status",
options: []
},
%{
name: "servers",
description: "All servers that this bot belongs to",
options: []
},
%{
name: "diseases",
description: "Identify diseases from photos",
options: []
},
%{
name: "projects",
description: "Plants grouped by region or type, for identification",
options: [
%{
# STRING
type: 3,
name: "project",
description: "Search for a project",
required: true,
autocomplete: true
},
%{
# ATTACHMENT (Image 1 - Required)
type: 11,
name: "image1",
description: "First photo of the plant",
required: true
},
%{
# ATTACHMENT (Image 2 - Optional)
type: 11,
name: "image2",
description: "Second photo (optional)",
required: false
},
%{
# ATTACHMENT (Image 3 - Optional)
type: 11,
name: "image3",
description: "Third photo (optional)",
required: false
},
%{
# ATTACHMENT (Image 4 - Optional)
type: 11,
name: "image4",
description: "Fourth photo (optional)",
required: false
},
%{
# ATTACHMENT (Image 5 - Optional)
type: 11,
name: "image5",
description: "Fifth photo (optional)",
required: false
}
]
}
]
end
end