forked from EllieBotDevs/elliebot
42 lines
No EOL
1.2 KiB
C#
42 lines
No EOL
1.2 KiB
C#
using Discord;
|
|
|
|
namespace EllieBot.Marmalade;
|
|
|
|
/// <summary>
|
|
/// Commands which take this class as a first parameter can be executed in both DMs and Servers
|
|
/// </summary>
|
|
public abstract class AnyContext
|
|
{
|
|
/// <summary>
|
|
/// Channel from the which the command is invoked
|
|
/// </summary>
|
|
public abstract IMessageChannel Channel { get; }
|
|
|
|
/// <summary>
|
|
/// Message which triggered the command
|
|
/// </summary>
|
|
public abstract IUserMessage Message { get; }
|
|
|
|
/// <summary>
|
|
/// The user who invoked the command
|
|
/// </summary>
|
|
public abstract IUser User { get; }
|
|
|
|
/// <summary>
|
|
/// Bot user
|
|
/// </summary>
|
|
public abstract ISelfUser Bot { get; }
|
|
|
|
/// <summary>
|
|
/// Provides access to strings used by this marmalade
|
|
/// </summary>
|
|
public abstract IMarmaladeStrings Strings { get; }
|
|
|
|
/// <summary>
|
|
/// Gets a formatted localized string using a key and arguments which should be formatted in
|
|
/// </summary>
|
|
/// <param name="key">The key of the string as specified in localization files</param>
|
|
/// <param name="args">Arguments (if any) to format in</param>
|
|
/// <returns>A formatted localized string</returns>
|
|
public abstract string GetText(string key, object[]? args = null);
|
|
} |