using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using Telegram.Bot.Types.Enums; using Telegram.Bot.Types.ReplyMarkups; using Telegram.Bot.Types; using TelegramBotBase.Form; using Telegram.Bot; using TelegramBotBase.Base; using TelegramBotBase.Args; namespace TelegramBotBase.Interfaces { public interface IDeviceSessionMethods { string GetChatTitle(); Task BanUser(long userId, DateTime until = default); Task UnbanUser(long userId); Task ChangeChatPermissions(ChatPermissions permissions); Task RestrictUser(long userId, ChatPermissions permissions, bool? useIndependentGroupPermission = null, DateTime until = default); Task ConfirmAction(string callbackQueryId, string message = "", bool showAlert = false, string urlToOpen = null); Task DeleteMessage(int messageId = -1); Task DeleteMessage(Message message); Task HideReplyKeyboard(string closedMsg = "Closed", bool autoDeleteResponse = true); Task Send(string text, ButtonForm buttons = null, int replyTo = 0, bool disableNotification = false, ParseMode parseMode = ParseMode.Markdown, bool markdownV2AutoEscape = true); Task Send(string text, IReplyMarkup markup, int replyTo = 0, bool disableNotification = false, ParseMode parseMode = ParseMode.Markdown, bool markdownV2AutoEscape = true); Task Send(string text, InlineKeyboardMarkup markup, int replyTo = 0, bool disableNotification = false, ParseMode parseMode = ParseMode.Markdown, bool markdownV2AutoEscape = true); Task SetAction(ChatAction action); Task SendTextFile(string filename, string textcontent, Encoding encoding = null, string caption = "", ButtonForm buttons = null, int replyTo = 0, bool disableNotification = false); Task SendDocument(InputFile document, string caption = "", ButtonForm buttons = null, int replyTo = 0, bool disableNotification = false); Task SendPhoto(InputFile file, string caption = null, ButtonForm buttons = null, int replyTo = 0, bool disableNotification = false, ParseMode parseMode = ParseMode.Markdown); Task SendVideo(InputFile file, string caption = null, ButtonForm buttons = null, int replyTo = 0, bool disableNotification = false, ParseMode parseMode = ParseMode.Markdown); Task SendVideo(string url, ButtonForm buttons = null, int replyTo = 0, bool disableNotification = false, ParseMode parseMode = ParseMode.Markdown); Task SendVideo(string filename, byte[] video, ButtonForm buttons = null, int replyTo = 0, bool disableNotification = false, ParseMode parseMode = ParseMode.Markdown); Task SendLocalVideo(string filepath, ButtonForm buttons = null, int replyTo = 0, bool disableNotification = false, ParseMode parseMode = ParseMode.Markdown); Task Edit(int messageId, string text, ButtonForm buttons = null, ParseMode parseMode = ParseMode.Markdown); Task Edit(int messageId, string text, InlineKeyboardMarkup markup, ParseMode parseMode = ParseMode.Markdown); Task Edit(Message message, ButtonForm buttons = null, ParseMode parseMode = ParseMode.Markdown); Task EditReplyMarkup(int messageId, ButtonForm bf); Task RequestContact(string buttonText = "Send your contact", string requestMessage = "Give me your phone number!", bool oneTimeOnly = true); Task RequestLocation(string buttonText = "Send your location", string requestMessage = "Give me your location!", bool oneTimeOnly = true); Task GetChatUser(long userId); event Async.AsyncEventHandler MessageSent; event EventHandler MessageReceived; event EventHandler MessageDeleted; Task Api(Func call); Task Api(Func> call); T Raw(Func call); } }