Exemplo n.º 1
0
        private void ProcessCommand(Models.Message message, string command)
        {
            command = command?.ToLower() ?? String.Empty;
            string[] args = message.Text.Split(' ').Where(x => !string.IsNullOrWhiteSpace(x)).Skip(1).ToArray();

            var id = message.Chat.ID;

            switch (command.ToLowerInvariant())
            {
            case "/whoami":
                CmdWhoAmI(message.Chat.ID, message.From);
                break;
            }
        }
Exemplo n.º 2
0
        private void ProcessMessage(Models.Message message)
        {
            var me          = Client.GetMe();
            var firstEntity = message?.Entities?.FirstOrDefault();

            if (null != firstEntity && firstEntity.Type == "bot_command" && firstEntity.Offset == 0)
            {
                string myName      = Client.GetMe().Username;
                string commandText = message.Text.Substring(firstEntity.Offset, firstEntity.Length);
                if (commandText.Contains("@") && !commandText.EndsWith($"@{myName}", StringComparison.InvariantCultureIgnoreCase))
                {
                    // not for me
                    _log.Trace($"Got command '{commandText}' but it is not for me.");
                }
                else
                {
                    commandText = commandText.Split("@").First();
                    ProcessCommand(message, commandText);
                }
            }
        }