OSDN Git Service

ブラウザと並列に動作するようにする
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / PushNotification.cs
1 // Copyright (C) 2017 Kazuhiro Fujieda <fujieda@users.osdn.me>\r
2 // \r
3 // Licensed under the Apache License, Version 2.0 (the "License");\r
4 // you may not use this file except in compliance with the License.\r
5 // You may obtain a copy of the License at\r
6 //\r
7 //    http://www.apache.org/licenses/LICENSE-2.0\r
8 //\r
9 // Unless required by applicable law or agreed to in writing, software\r
10 // distributed under the License is distributed on an "AS IS" BASIS,\r
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
12 // See the License for the specific language governing permissions and\r
13 // limitations under the License.\r
14 \r
15 using System.Collections.Specialized;\r
16 using System.Net;\r
17 using System.Runtime.CompilerServices;\r
18 using System.Text;\r
19 \r
20 namespace KancolleSniffer\r
21 {\r
22     public static class PushNotification\r
23     {\r
24         [MethodImpl(MethodImplOptions.Synchronized)]\r
25         public static void PushToPushbullet(string token, string title, string body)\r
26         {\r
27             using (var wc = new WebClient())\r
28             {\r
29                 wc.Headers[HttpRequestHeader.ContentType] = "application/json";\r
30                 wc.Credentials = new NetworkCredential(token, "");\r
31                 wc.Encoding = Encoding.UTF8;\r
32                 wc.UploadString("https://api.pushbullet.com/v2/pushes",\r
33                     $"{{ \"type\": \"note\", \"title\": \"{title}\", \"body\": \"{body}\" }}");\r
34             }\r
35         }\r
36 \r
37         [MethodImpl(MethodImplOptions.Synchronized)]\r
38         public static void PushToPushover(string apiKey, string userKey, string title, string body)\r
39         {\r
40             using (var wc = new WebClient())\r
41             {\r
42                 wc.UploadValues("https://api.pushover.net/1/messages.json", new NameValueCollection\r
43                 {\r
44                     {"token", apiKey},\r
45                     {"user", userKey},\r
46                     {"message", body},\r
47                     {"title", title}\r
48                 });\r
49             }\r
50         }\r
51     }\r
52 }