BotContext
Контекст бота.
/// <summary>
/// Контекст бота.
/// </summary>
public class BotContext : IBotContext
{
#region IIBotContext
/// <inheritdoc />
public IEnumerable<PRBotBase> Bots => BotCollection.Instance.GetBots();
/// <inheritdoc />
public PRBotBase Current { get; }
/// <inheritdoc />
public ITelegramBotClient BotClient => Current.BotClient;
/// <inheritdoc />
public Update Update { get; }
/// <inheritdoc />
public UpdateType CurrentUpdateType => Update.Type;
/// <inheritdoc />
public CancellationToken CancellationToken { get; }
#endregion
#region Методы
/// <summary>
/// Создать заглушку контекста.
/// </summary>
/// <returns>Заглушка.</returns>
public static IBotContext CreateEmpty()
{
return new BotContext(new PRBotDummy());
}
#endregion
#region Конструкторы
/// <summary>
/// Конструктор.
/// </summary>
/// <param name="bot">Экземпляр бота.</param>
/// <param name="update">Обновление telegram.</param>
/// <param name="cancellationToken">Токен отмены.</param>
public BotContext(PRBotBase bot, Update update, CancellationToken cancellationToken)
{
Current = bot;
Update = update;
CancellationToken = cancellationToken;
}
/// <summary>
/// Конструктор.
/// </summary>
/// <param name="bot">Экземпляр бота.</param>
public BotContext(PRBotBase bot) : this(bot, new Update(), CancellationToken.None) {}
/// <summary>
/// Конструктор.
/// </summary>
/// <param name="bot">Экземпляр бота.</param>
/// <param name="update">Обновление telegram.</param>
public BotContext(PRBotBase bot, Update update) : this(bot, update, CancellationToken.None) { }
/// <summary>
/// Конструктор.
/// </summary>
/// <param name="bot">Экземпляр бота.</param>
/// <param name="cancellationToken">Токен отмены.</param>
public BotContext(PRBotBase bot, CancellationToken cancellationToken) : this(bot, new Update(), cancellationToken) { }
#endregion
}Last updated