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; } }
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); } } }