Пример #1
0
        private Task ExecuteCommand(string data)
        {
            return(Task.Factory.StartNew(() =>
            {
                try
                {
                    ViberCallbackEvent callbackEvent = JsonSerializer.Deserialize <ViberCallbackEvent>(data);
                    if (callbackEvent != null)
                    {
                        var response = "";
                        switch (callbackEvent.typeCallback.ToLower())
                        {
                        case "message": response = onMessage(callbackEvent); break;

                        case "conversation_started": response = onConversationStarted(callbackEvent); break;
                        }
                    }
                }
                catch (Exception e)
                {
                    context.logs.Add(new Log(e.Message, e.StackTrace));
                    context.SaveChanges();
                }
            }));
        }
Пример #2
0
        private string onMessage(ViberCallbackEvent callbackEvent)
        {
            var command = Bot.instanse.GetCommand(callbackEvent.message.text);

            if (command != null)
            {
                return(command.Execute(callbackEvent, context));
            }
            else
            {
                context.logs.Add(new Log("WebHook", $"Команда {command} не найдена."));
                context.SaveChanges();
                return("Команда не найдена");
            }
        }
Пример #3
0
        public override string Execute(ViberCallbackEvent callbackEvent, object obj = null)
        {
            var receiver = callbackEvent.senderId;

            return(Utils.SendTextMessage(receiver, $"Привет! Я чат бот для Viber. К сожалению я всего лишь машина и могу отвечать только на заданные команды. Список команд можно вывести отправив мне сообщение с текстом {Command.startChar}{new HelpCommand().commandName}."));
        }
Пример #4
0
        private string onConversationStarted(ViberCallbackEvent callbackEvent)
        {
            var command = new HelloCommand();

            return(command.Execute(callbackEvent, context));
        }
Пример #5
0
 public abstract string Execute(ViberCallbackEvent callbackEvent, object obj = null);