public SlackWebhookResponse FromOmdbTitleAsAttachment(OmdbTitle omdbTitle, string webhookUsername = "******") { var imdbTitle = FormatImdbTitle(omdbTitle.Title, omdbTitle.imdbId, omdbTitle.Year); var imdbText = FormatImdbText(omdbTitle.Plot, omdbTitle.imdbRating, omdbTitle.Poster, omdbTitle.Director); var response = new SlackWebhookResponse(); var attachment = new SlackWebhookResponseAttachment() { fallback = imdbTitle, pretext = imdbTitle, color = "#FACC2E" }; var fields = new SlackWebhookResponseAttachmentFields() { title = omdbTitle.Title, value = imdbText }; attachment.fields.Add(fields); payload.attachments.Add(attachment); response.payload = payload; response.payload.username = webhookUsername; response.payload.text = "<" + FormatImdbPoster(omdbTitle.imdbId) + ">"; return(response); }
public SlackWebhookResponse EmptyResultResponse(string searchTerm, string channel, string userName, string webhookUsername = "******") { var response = new SlackWebhookResponse(); response.payload.username = webhookUsername; response.payload.text = string.Format("Psssst @{0} I couldn't find a title named \"{1}\".", userName, searchTerm); response.payload.channel = string.Format("#{0}", channel); return(response); }
public SlackWebhookResponse FromOmdbTitle(OmdbTitle omdbTitle, string webhookUsername = "******") { var imdbTitle = FormatImdbTitle(omdbTitle.Title, omdbTitle.imdbId, omdbTitle.Year); var imdbText = FormatImdbText(omdbTitle.Plot, omdbTitle.imdbRating, omdbTitle.Poster, omdbTitle.Director); var posterUrl = FormatImdbPoster(omdbTitle.imdbId); var response = new SlackWebhookResponse(); response.payload.username = webhookUsername; response.payload.text = string.Format("{0}\n{1}\n{2}", imdbTitle, imdbText, posterUrl); return(response); }
public OmdbModule() { var omdb = new Omdb.Integration.OmdbQuery(); Post["/imdb"] = parameters => { var slackCommand = new Model.SlackCommandRequest(); slackCommand = this.Bind <Model.SlackCommandRequest>(); var searchTerm = slackCommand.text.Trim(); var isListSearch = searchTerm.StartsWith("?"); var response = new Model.SlackWebhookResponse(); if (isListSearch) { } else { var singleSearchResultCmd = new Commands.SearchSingleResultCommand(); response = singleSearchResultCmd.Execute(searchTerm, slackCommand.channel_name, slackCommand.user_name); } var slackResponder = new Integration.SlackWebhookResponder(); slackResponder.Send(response); var jsonResponse = JsonConvert.SerializeObject(response); return(jsonResponse); }; Get["/imdb/{imdbid}.jpg"] = parameters => { var client = new RestSharp.RestClient("http://img.omdbapi.com"); var request = new RestSharp.RestRequest(RestSharp.Method.GET).AddQueryParameter("apikey", "cce8fe13").AddQueryParameter("i", parameters["imdbid"]); var responseData = client.DownloadData(request); var r = new Response(); r.Contents = s => { using (var writer = new BinaryWriter(s)) { writer.Write(responseData); }; }; r.ContentType = "image/jpeg"; return(r); }; }
public SlackWebhookResponse FromOmdbSearchResult(OmdbSearchResultList searchResult) { var result = new SlackWebhookResponse();; return(result); }