using System; using System.Threading.Tasks; using Telegram.Bot.Types.Enums; using Telegram.Bot.Types; using TelegramBotBase.Form; using Telegram.Bot.Types.ReplyMarkups; using TelegramBotBase.Args; using TelegramBotBase.Base; using Telegram.Bot; using TelegramBotBase.Sessions; namespace TelegramBotBase.Interfaces; public interface IDeviceSession : IDeviceSessionMethods { MessageClient Client => ActiveForm.Client; int LastMessageId => LastMessage?.MessageId ?? -1; Message LastMessage { get; set; } /// /// Device or chat id /// long DeviceId { get; set; } /// /// Username of user or group /// string ChatTitle { get; set; } /// /// When did any last action happend (message received or button clicked) /// DateTime LastAction { get; set; } /// /// Returns the form where the user/group is at the moment. /// FormBase ActiveForm { get; set; } /// /// Returns the previous shown form /// FormBase PreviousForm { get; set; } /// /// contains if the form has been switched (navigated) /// bool FormSwitched { get; set; } }