Как лучше реализовать бота telegram?
Словарь, в котором ключ - это команда, а значение - это обработчик этой команды "CommandExecutor"
Все обработчики - это классы, наследуемые от единого класса "CommandExecutor", который умеет сам регистрироваться в словаре этом, и у которого есть метод Execute, который собственно и будет вызываться в момент прихода сообщения из того самого словаря.
Для C# есть Bot framework
Сейчас он поддерживает достаточное количество мессенджеров.Можете посмотреть как работает поддержка диалогов