public Form1() { InitializeComponent(); acolytes.names = new List <Tuple <string, int> >(); acolytes.name = ""; acolytes.sides = new List <Tuple <string, int, int> >(); sideslist.Add(new Tuple <PictureBox, Label>(pictureBox1, label3)); sideslist.Add(new Tuple <PictureBox, Label>(pictureBox2, label4)); using (Graphics gfx = Graphics.FromImage(bmp1)) using (SolidBrush brush = new SolidBrush(System.Drawing.Color.FromArgb(255, 0, 0))) { gfx.FillRectangle(brush, 0, 0, 600, 30); } using (Graphics gfx = Graphics.FromImage(bmp2)) using (SolidBrush brush = new SolidBrush(System.Drawing.Color.FromArgb(0, 128, 0))) { gfx.FillRectangle(brush, 0, 0, 600, 30); } var jobj = new JObject(); jobj.Add("token", "token"); jobj.Add("type", "minor"); //bool connected = false; socket.On(Socket.EVENT_CONNECT, () => { socket.Emit("add-user", jobj); connected = true; MessageBox.Show("Connected!"); }); //socket.Connect(); //while (!connected) // { // Thread.Sleep(100); // socket.Connect(); // socket.Emit("add-user", jobj); // MessageBox.Show("Еще коннект?"); // // MessageBox.Show("Я не смогло законнектиться, но я попробую еще раз..."); //} socket.On(Socket.EVENT_CONNECT_ERROR, () => { MessageBox.Show("Коннект чот не коннект, давай перезагрузимся?"); }); socket.On(Socket.EVENT_RECONNECT_FAILED, () => { MessageBox.Show("РЕконнект чот не РЕконнект, давай перезагрузимся?"); }); socket.On(Socket.EVENT_CONNECT_TIMEOUT, () => { MessageBox.Show("Коннект чот упал по таймауту, давай перезагрузимся?"); }); socket.On("donation", (data) => { try { //var str = Encoding.UTF8.GetString((byte[])data); Donate d = JsonConvert.DeserializeObject <Donate>((string)data); //MessageBox.Show((string)data); // MessageBox.Show(d.username+" ацки башляет "+d.amount+" и говорит: "+d.message); processDonation(d); } catch (Exception e) { MessageBox.Show(e.ToString()); } }); }
private void Client_OnDonation(object sender, StreamLabsDotNet.Client.Models.StreamlabsEvent <StreamLabsDotNet.Client.Models.DonationMessage> e) { MessageBox.Show(e.Message[0].From + " вкидывает " + e.Message[0].Amount + " руб. с сообщением: \"" + e.Message[0].Message + "\""); foreach (var ss in e.Message) { Donate d = new Donate(); d.amount = float.Parse(ss.Amount); d.message = ss.Message; processDonation(d); } }
private void processDonation(Donate d) { int amount = (int)d.amount; var content = d.message; MessageBox.Show("Пришел донат на " + amount + " руб. с сообщением: \"" + content + "\""); //var t = ""; Regex donate = new Regex("#[a-zA-ZА-Яа-я~*]+ *"); //bool name = false, side = false; foreach (Match s in donate.Matches(content)) { //MessageBox.Show(s.Value); MessageBox.Show("Нашли хэштэг: " + s.Value); string search = s.Value.Substring(1).TrimEnd(' '); int indexside = acolytes.sides.FindIndex(x => (Helper.LevenshteinDistance(x.Item1.ToLower(), search.ToLower()) < 3)); //int index = acolytes.names.FindIndex(x => (LevenshteinDistance(x.Item1.ToLower(), search.ToLower()) < 3)); //if (index > -1 && !name) //{ // acolytes.names[index] = new Tuple<string, int>(acolytes.names[index].Item1, acolytes.names[index].Item2 + amount); // name = true; // //MessageBox.Show(t); //} //else if (indexside > -1 /*&& !side*/) { acolytes.sides[indexside] = new Tuple <string, int, int>(acolytes.sides[indexside].Item1, acolytes.sides[indexside].Item2 + amount, acolytes.sides[indexside].Item3); //side = true; MessageBox.Show("Он принадлежит полосочке " + acolytes.sides[indexside].Item1 + ", поэтому дальше не смотрели."); break; //MessageBox.Show(t); } } //if (name && !side) acolytes.sides[1] = new Tuple<string, int, int>(acolytes.sides[1].Item1, acolytes.sides[1].Item2 + amount, acolytes.sides[1].Item3); //Это фундаментальный костыль - донат аколитцу без имени уходил в "помиловать". update(); }