You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
35 lines
1.3 KiB
namespace Discord.Commands
|
|
{
|
|
/// <summary> The context of a command which may contain the client, user, guild, channel, and message. </summary>
|
|
public class CommandContext : ICommandContext
|
|
{
|
|
/// <inheritdoc/>
|
|
public IDiscordClient Client { get; }
|
|
/// <inheritdoc/>
|
|
public IGuild Guild { get; }
|
|
/// <inheritdoc/>
|
|
public IMessageChannel Channel { get; }
|
|
/// <inheritdoc/>
|
|
public IUser User { get; }
|
|
/// <inheritdoc/>
|
|
public IUserMessage Message { get; }
|
|
|
|
/// <summary> Indicates whether the channel that the command is executed in is a private channel. </summary>
|
|
public bool IsPrivate => Channel is IPrivateChannel;
|
|
|
|
/// <summary>
|
|
/// Initializes a new <see cref="CommandContext" /> class with the provided client and message.
|
|
/// </summary>
|
|
/// <param name="client">The underlying client.</param>
|
|
/// <param name="msg">The underlying message.</param>
|
|
public CommandContext(IDiscordClient client, IUserMessage msg)
|
|
{
|
|
Client = client;
|
|
Guild = (msg.Channel as IGuildChannel)?.Guild;
|
|
Channel = msg.Channel;
|
|
User = msg.Author;
|
|
Message = msg;
|
|
}
|
|
}
|
|
}
|