Ejemplo n.º 1
0
        /// <summary>
        /// Start Message Processing
        /// </summary>
        public void ProcessMessages(VkService service, IList <IList <object> > messages)
        {
            var config = ConfigHelper.GetConfig();

            int chatId = 5; //Chat ID

            if (config != null)
            {
                chatId = int.Parse(config.ChatId);
            }

            foreach (var update in messages)
            {
                if (!Convert.ToString(update[0]).Equals("4"))
                {
                    continue;
                }
                if (!Convert.ToString(update[6]).Contains("/"))
                {
                    continue;
                }
                var message = Convert.ToString(update[6]);
                try
                {
                    if (config != null)
                    {
                        foreach (var assembly in config.Assemblies.Distinct())
                        {
                            HttpClient client = new HttpClient();
                            var        res    = RunLogicAsync(client, new Parameter {
                                AssemblyName = assembly, InvokeParameter = message
                            }, config.ServiceUrl);

                            var actualChatId = Convert.ToInt64(update[3]) - 2000000000; //3 for chat id
                            if (actualChatId != chatId)
                            {
                                continue;
                            }
                            service.SendMessage(new MessagesSendParams {
                                ChatId = chatId, Message = res
                            });
                        }
                    }
                }
                catch (Exception e)
                {
                    ErrorSignal.FromCurrentContext().Raise(e);
                    service.SendMessage(new MessagesSendParams {
                        ChatId = chatId, Message = "down"
                    });
                }
            }
        }