public async Task <Result> SendMediaAsync(IBotMediaFile mediaFile, string text, SenderInfo sender) { if (mediaFile is IBotOnlineFile onlineFile) { return(await SendOnlineMediaAsync(onlineFile, text, sender)); } Result result = CheckText(text); if (result.IsFailed) { return(result); } try { await _client.GetGuild((ulong)sender.ChatId) .GetTextChannel((ulong)sender.UserSenderId) .SendFileAsync(mediaFile.Path, text); return(Result.Ok()); } catch (Exception e) { const string message = "Error while sending message"; LoggerHolder.Instance.Error(e, message); return(Result.Fail(e)); } }
private IAlbumInputMedia ConstructAlbumInputMedia(IBotMediaFile mediaFile, string caption, List <FileStream> streams) { if (mediaFile is IBotOnlineFile onlineFile) { return(mediaFile.MediaType switch { MediaTypeEnum.Photo => new InputMediaPhoto(onlineFile.Id) { Caption = caption }, MediaTypeEnum.Video => new InputMediaVideo(onlineFile.Id) { Caption = caption } });
public BotSingleMediaMessage(string text, IBotMediaFile mediaFile) { Text = text; MediaFile = mediaFile; }
public static string GetFileExtension(this IBotMediaFile mediaFile) { return(mediaFile.Path.Split(Path.DirectorySeparatorChar).Last()); }
public Task <Result> SendMediaAsync(IBotMediaFile mediaFile, string text, SenderInfo sender) => throw new NotImplementedException();