-
Notifications
You must be signed in to change notification settings - Fork 0
/
HttpProcessor.cs
75 lines (57 loc) · 2.11 KB
/
HttpProcessor.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
namespace DiscordBot_2
{
class HttpProcessor
{
private HttpListener listener;
private DiscordBot usingBot;
private Commands com;
public HttpProcessor(DiscordBot givenBot)
{
usingBot = givenBot;
listener = new HttpListener();
listener.Prefixes.Add("http://+:1337/");
}
public void StartProcessor()
{
com = new Commands();
Console.WriteLine("Now listening...");
listener.Start();
while (listener.IsListening)
{
var context = listener.GetContext();
Console.WriteLine("Incoming SMS.");
string smsBody = context.Request.QueryString["Body"].Trim();
string smsFrom = context.Request.QueryString["From"].Substring(2);
List<string> smsImageUrls = new List<string>();
string tempSmsImageUrl;
for (int i = 0; i < 10; i++) //Process 10 possible MediaUrls
{
tempSmsImageUrl = context.Request.QueryString["MediaUrl" + i.ToString()];
if (!string.IsNullOrEmpty(tempSmsImageUrl))
{
smsImageUrls.Add(tempSmsImageUrl);
}
else
break;
}
string smsImageUrlList = "";
foreach (string url in smsImageUrls) {
smsImageUrlList = smsImageUrlList + url + " ";
}
smsImageUrlList.Trim();
string contact = com.getContactFromNumber(smsFrom);
if (!string.IsNullOrEmpty(contact))
smsFrom = contact.First().ToString().ToUpper() + contact.Substring(1); //Capitalize first letter.
usingBot.NotifySms(smsFrom, smsBody, smsImageUrlList);
}
Console.WriteLine("Done listening.");
}
}
}