Пример #1
0
        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());
                }
            });
        }
Пример #2
0
 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);
     }
 }
Пример #3
0
        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();
        }