// Path: src/com/vauff/maunzdiscord/objects/Await.java
// public class Await
// {
// 	private Snowflake id;
// 	private AbstractCommand command;
// 	private ChatInputInteractionEvent event;
// 
// 	/**
// 	 * @param id      An ID of a user who triggered the message or a message to be removed later on
// 	 * @param command The command with which to continue execution upon adding a reaction
// 	 * @param event   The ChatInputInteractionEvent that triggered the execution of {@link Await#command}
// 	 */
// 	public Await(Snowflake id, AbstractCommand command, ChatInputInteractionEvent event)
// 	{
// 		this.id = id;
// 		this.command = command;
// 		this.event = event;
// 	}
// 
// 	/**
// 	 * @param id      An ID of a user who triggered the message or a message to be removed later on
// 	 * @param command The command with which to continue execution upon adding a reaction
// 	 */
// 	public Await(Snowflake id, AbstractCommand command)
// 	{
// 		this(id, command, null);
// 	}
// 
// 	/**
// 	 * @return The ID of the user who triggered the message or of the message to be removed later on
// 	 */
// 	public Snowflake getID()
// 	{
// 		return id;
// 	}
// 
// 	/**
// 	 * @return The command with which to continue execution upon adding a reaction
// 	 */
// 	public AbstractCommand getCommand()
// 	{
// 		return command;
// 	}
// 
// 	/**
// 	 * @return The ChatInputInteractionEvent that triggered the execution of {@link Await#command}, only present if instance of {@link AbstractSlashCommand}
// 	 */
// 	public ChatInputInteractionEvent getInteractionEvent()
// 	{
// 		return event;
// 	}
// }
// 
// Path: src/com/vauff/maunzdiscord/objects/CommandHelp.java
// public class CommandHelp
// {
// 	private String arguments;
// 	private String description;
// 
// 	/**
// 	 * @param arguments   Arguments available for this command
// 	 * @param description Description of what this command does
// 	 */
// 	public CommandHelp(String arguments, String description)
// 	{
// 		this.arguments = arguments;
// 		this.description = description;
// 	}
// 
// 	/**
// 	 * @return The arguments available for this command
// 	 */
// 	public String getArguments()
// 	{
// 		return arguments;
// 	}
// 
// 	/**
// 	 * @return The description of what this command does
// 	 */
// 	public String getDescription()
// 	{
// 		return description;
// 	}
// 
// 	/**
// 	 * @param arguments The arguments available for this command
// 	 */
// 	public void setArguments(String arguments)
// 	{
// 		this.arguments = arguments;
// 	}
// }


import com.vauff.maunzdiscord.objects.Await;
import com.vauff.maunzdiscord.objects.CommandHelp;
import discord4j.common.util.Snowflake;
import java.util.HashMap;
package com.vauff.maunzdiscord.commands.templates;



public abstract class AbstractCommand
{
	/**
	 * Holds all messages as keys which await a reaction by a specific user.
	 * The values hold an instance of {@link Await}
	 */
// Path: src/com/vauff/maunzdiscord/objects/Await.java
// public class Await
// {
// 	private Snowflake id;
// 	private AbstractCommand command;
// 	private ChatInputInteractionEvent event;
// 
// 	/**
// 	 * @param id      An ID of a user who triggered the message or a message to be removed later on
// 	 * @param command The command with which to continue execution upon adding a reaction
// 	 * @param event   The ChatInputInteractionEvent that triggered the execution of {@link Await#command}
// 	 */
// 	public Await(Snowflake id, AbstractCommand command, ChatInputInteractionEvent event)
// 	{
// 		this.id = id;
// 		this.command = command;
// 		this.event = event;
// 	}
// 
// 	/**
// 	 * @param id      An ID of a user who triggered the message or a message to be removed later on
// 	 * @param command The command with which to continue execution upon adding a reaction
// 	 */
// 	public Await(Snowflake id, AbstractCommand command)
// 	{
// 		this(id, command, null);
// 	}
// 
// 	/**
// 	 * @return The ID of the user who triggered the message or of the message to be removed later on
// 	 */
// 	public Snowflake getID()
// 	{
// 		return id;
// 	}
// 
// 	/**
// 	 * @return The command with which to continue execution upon adding a reaction
// 	 */
// 	public AbstractCommand getCommand()
// 	{
// 		return command;
// 	}
// 
// 	/**
// 	 * @return The ChatInputInteractionEvent that triggered the execution of {@link Await#command}, only present if instance of {@link AbstractSlashCommand}
// 	 */
// 	public ChatInputInteractionEvent getInteractionEvent()
// 	{
// 		return event;
// 	}
// }
// 
// Path: src/com/vauff/maunzdiscord/objects/CommandHelp.java
// public class CommandHelp
// {
// 	private String arguments;
// 	private String description;
// 
// 	/**
// 	 * @param arguments   Arguments available for this command
// 	 * @param description Description of what this command does
// 	 */
// 	public CommandHelp(String arguments, String description)
// 	{
// 		this.arguments = arguments;
// 		this.description = description;
// 	}
// 
// 	/**
// 	 * @return The arguments available for this command
// 	 */
// 	public String getArguments()
// 	{
// 		return arguments;
// 	}
// 
// 	/**
// 	 * @return The description of what this command does
// 	 */
// 	public String getDescription()
// 	{
// 		return description;
// 	}
// 
// 	/**
// 	 * @param arguments The arguments available for this command
// 	 */
// 	public void setArguments(String arguments)
// 	{
// 		this.arguments = arguments;
// 	}
// }


// Path: src/com/vauff/maunzdiscord/commands/templates/AbstractCommand.java
import com.vauff.maunzdiscord.objects.Await;
import com.vauff.maunzdiscord.objects.CommandHelp;
import discord4j.common.util.Snowflake;
import java.util.HashMap;

package com.vauff.maunzdiscord.commands.templates;



public abstract class AbstractCommand
{
	/**
	 * Holds all messages as keys which await a reaction by a specific user.
	 * The values hold an instance of {@link Await}
	 */
	public static final HashMap<Snowflake, Await> AWAITED = new HashMap<>();